Colección de citas famosas - Colección de poesías - Nodo de eliminación del diccionario

Nodo de eliminación del diccionario

El código es el siguiente:

/* Escriba un programa de sistema de información de estudiantes utilizando una lista vinculada en lenguaje C, que debe generar el número de estudiante, el nombre, el sexo, el número de estudiante, el nombre y las calificaciones del estudiante (agregar, eliminar , consultar, ordenar y promediar )*/

# incluir ltstdio.h gt

# incluir ltiostream gt

# incluir ltstring.h gt

# include ltstdlib .h gt

Usar espacio de nombres std

const int n = 5;

/*

* nodeEntry : tipo de datos de nodo

* nodeADT: estructura de nodo

* linkADT: estructura de lista enlazada

*/

estructura typedef estudiante

{

int num

char name【30】;

Sexo encantador

puntaje flotante 1; /Idioma

Fracción flotante 2; //Matemáticas

Fracción flotante 3; //Inglés

//struct Student * next;

}Estudiante;

enlace de estructura typedef CDT {

encabezado de nodoADT;

} * enlaceADT

/*

* InitLink: Inicializar lista enlazada

* CreateNode: Crear nodo

* AppendLink: Agregar datos

*/

nodeADT CreateNode (entrada de estudiante) {

nodoADT p = (nodoADT) malloc (tamaño de * p);

p-》; entrada=entrada, p- gt; p>

return p;

}

/*

Ordenar enlace: Ordenar lista enlazada

//Ordenar por estudiante número

void sort linkid(link ADT link){

nodeADT pHead, pRear, p, TP

Si (! link) devuelve

for (pHead = link- gt; head, pRear = 0; pHeadpHead = pHead- gt; siguiente) {

for (TP = pHead, p = pHead- gt; siguiente; p; tp=p, p = p-》; siguiente)?

if (pHead- gt; entrada.num gt = p-》; número de entrada)

TP- gt; siguiente = p- gt siguiente, p-》; pHead, pHead=p, p = tp

if (!pRear) link->; head = pHead

else pRear- gt next = pHead

pRear = pHead

}

//Ordenar por puntuación en inglés

void sort link English (enlace enlace ADT) {

nodeADT pHead , pRear, p, TP;

Si (! link) devuelve

for (pHead = link- gt; head, p

Rear = 0; pHeadpHead = pHead- gt; siguiente) {

for (TP = pHead, p = pHead- gt; siguiente; p; tp=p, p = p-》; siguiente )?

if (pHead- gt; entrada.score3 gt= p-》; entrada. puntuación 3)

TP- gt; siguiente = p- gt siguiente, p-》 ; next=pHead, pHead=p, p = tp

if (!pRear) link-》; head = pHead

else pRear- gt; p>pRear = pHead

}

}

//Ordenar los nombres en el orden del diccionario

void sort link name (enlace ADT link ) {

nodeADT pHead, pRear, p, TP;

Si (! link) regresa;

for (pHead = link- gt; head , pRear = 0; pHeadpHead = pHead- gt; siguiente) {

for (TP = pHead, p = pHead- gt; siguiente; p; tp=p, p = p-》; siguiente)?

if (pHead- gt; entrada . nombre [0] gt; = p-》; entrada . nombre [0])

TP- gt; siguiente, p-> siguiente=pHead, pHead=p, p=tp

if (!pRear) link->head = pHead

else pRear-gt;next = pHead

pRear = pHead

}

}

//Ordenar por longitud del nombre

void sort linkname length( link ADT link){

nodoADT pHead, pRear, p, TP;

Si (! link) regresa;

for (pHead = link - gt; cabeza, pRear = 0; pHeadpHead = pHead- gt; siguiente) {

for (TP = pHead, p = pHead- gt; siguiente; p; tp=p, p = p -";Siguiente) ?

if (strlen(pHead- gt; entrada. nombre) gt; = strlen(p- gt; entrada. nombre))

TP- gt; siguiente = p- gt; siguiente, p-> siguiente=pHead, pHead=p, p=tp

if (!pRear) link->head = pHead

else pRear-gt;next = pHead

pRear = pHead

}

La lista enlazada circular es lo mismo que la lista enlazada individualmente.

Es una estructura de almacenamiento en cadena. La diferencia es que el puntero del último nodo de la mesa circular apunta al primer nodo o nodo principal de la mesa circular, formando así una cadena circular.

El funcionamiento de una lista enlazada circular es básicamente el mismo que el de una lista enlazada individualmente.

Las diferencias son las siguientes:

1. Al establecer una lista enlazada circular, el puntero del último nodo debe apuntar al nodo del encabezado, en lugar de establecerse en NULL como una lista enlazada única. Este caso también se utiliza para insertar un nuevo nodo después del último nodo.

2. Al juzgar si se ha llegado al final de la tabla, se juzga si el valor del campo de enlace del nodo es el nodo principal. Cuando el valor del campo de la cadena es igual al puntero principal, significa que se ha llegado al final de la lista. En lugar de juzgar si el valor del campo de la cadena está vacío como una lista enlazada individualmente.

Lista enlazada a la Enciclopedia Baidu