13 devuelve el número de campos de datos de nodos específicos

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 }

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/shanlu0000/p/12459788.html
Recomendado
Clasificación