1, primero, el valor inicial de la lista para la entrada del usuario
2, de acuerdo con la entrada de un usuario, imprime la lista después de la inicialización
3, los usuarios siguen entrando en el valor de mirar
4, de acuerdo con este valor en la lista para encontrar el campo de datos es el valor del nodo, y se contaron, y devuelve el número de nodos que satisface la condición
1 / * devuelve el número de nodos de un valor de campo de datos específico * / 2 3. #Include <stdio.h> 4. #Include <stdlib.h> 5. 6. // vinculado estructura de nodos lista 7. Typedef struct Enlace { 8. Int datos; . 9 struct Enlace * Siguiente; 10 } Enlace; . 11 12 es // lista de inicialización 13 es Enlace * initByTailInsert () { 14 Enlace PHEAD * = NULL; // Crear una cabeza puntero 15 Enlace first_node = * (* Link) el malloc ( el sizeof (Link) ); // crear el primer nodo 16 // primer nodo para inicializar . 17 first_node-> = Data . 1 ; 18 es first_node-> Siguiente = NULL; . 19 PHEAD = first_node; // puntero cabeza apunta al primer nodo 20 es 21 se int capturar_datos = 0 ; // entrada de usuario el valor de 22 es 23 es // extremo insertado asignación 24 el printf ( " por favor, introduzca los cuatro números enteros: " ); 25 para ( int I = 2 ; I < . 6 ; I ++ ) { 26 es Enlace * new_node = (Link *) el malloc ( el sizeof ( enlace));// solicitar un nuevo nodo 27 28 // new_node-> Data = I; 29 Scanf ( " % D " , y capturar_datos); 30 new_node-> Data = capturar_datos; 31 es 32 new_node-> Siguiente = NULL; 33 es first_node- > Siguiente = new_node; // primera nodo de punto de campo de puntero a la nueva aplicación de nodo 34 es first_node = new_node; // después del primer nodo de desplazamiento 35 } 36 37 [ // el printf ( "valor de puntero cabeza es:% d \ n", phead-> datos); // . 1 38 es el retorno PHEAD; //Apuntará a los primeros retornos de nodo el puntero de cabeza 39 } 40 41 es 42 es 43 es void ShowLink (Link * PHEAD) { 44 es Enlace * tmp = PHEAD; // cabeza de tmp puntero, tmp es un puntero cabeza 45 // largo tmp puntero al siguiente nodo no es nulo, se ejecuta la instrucción de salida. 46 es el tiempo (tmp =! NULL) { 47 printf ( " % D " , TMP-> Datos); 48 tmp = TMP-> Siguiente; 49 } 50 printf ( " \ n " ); 51 es } 52 es 53 es //Devuelve el número valor de campo de especial nodo de datos 54 es int COUNT (* Enlace PHEAD, int value) { 55 Enlace * tmp = PHEAD; 56 se int COUNT = 0 ; 57 es el tiempo (! Tmp = NULL) { 58 IF (TMP-> == Data valor) { 59 COUNT ++ ; 60 } 61 es tmp = tMP-> Siguiente; 62 es } 63 es retorno COUNT; 64 } 65 66 void main () { 67 // lista de inicialización (1,2,3,4) 68 la printf ( " lista de inicialización es: \ n- " ); 69 Enlace * = initByTailInsert PHEAD (); // crear un puntero de cabecera, el puntero de cabeza se inicializa y dar la 70 ShowLink (PHEAD); 71 es int value = 0 ; 72 la printf ( " Por favor introduzca los elementos de búsqueda: " ); 73 es Scanf ( " % d " , y valor); 74 la printf ( " campo de datos es el número de nodos es% d:% d \ n- " , el valor, COUNT (PHEAD , valor)); 75 76 }