| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo crear una lista enlazada en C
    En C, una lista enlazada le permite crear una lista sin decidir de antemano el tiempo que sea, y sin perder la memoria por asignar elementos que aún no tenemos . La desventaja es que usted tiene que hacer todo el trabajo de la organización y gestión de la lista en la memoria. Instrucciones
    Crear la Estructura de Datos
    1

    Elige un nombre, a continuación, utilizar typedef para definirlo. Cada lista enlazada tendrá una estructura, incluso si sólo tiene una variable :

     typedef struct product_data PRODUCT_DATA , página 2 

    Definir la estructura. El último elemento debe ser un puntero al tipo que acaba de definir , y nombrado "siguiente" :

     product_data struct { int product_code ; int product_size ; PRODUCT_DATA * siguiente ;} ; 
    3

    Asignar dos punteros a esta estructura de datos , inicialización a NULL , que la lista de " cabeza" y "cola ":

     PRODUCT_DATA * products_head = NULL; PRODUCT_DATA * products_tail = NULL; 
    Añadir a la Lista < br > Página 4

    Asignar una variable temporal que es un puntero a la estructura de datos :

     PRODUCT_DATA * NUEVOSPROD UCTOS ; Página 5 

    uso malloc () para crear un nuevo elemento, siempre vigilando por un error:

     if (( NUEVOSPROD UCTOS = malloc ( sizeof ( PRODUCT_DATA ))) == NULL ) { abort ( ) ;} Página 6 

    rellenar los campos del nuevo elemento . Establezca su campo " siguiente" para NULL :

     NUEVOSPROD UCTOS -> product_code = Código nuevo ; NUEVOSPROD UCTOS -> product_size = newSize ; NUEVOSPROD UCTOS - > siguiente = NULL; Página 7 

    Establezca la variable de cabeza. Si la variable principal es NULL, este es el primer elemento que se agrega a la lista, así que ponga la cabeza variable para señalar que :

     si products_head = NUEVOSPROD UCTOS ; página 8 

    Prepárese para una diferente ( products_head !) variable. En otros casos , las variables cola apunta al último elemento de la lista , por lo que establezca su siguiente valor para que apunte al nuevo elemento :

     más products_tail - > siguiente = NUEVOSPROD UCTOS ; página 9 

    Actualizar la cola seleccione el nuevo elemento pasado, en ambos casos :

     products_tail = NUEVOSPROD UCTOS ; 
    acceder a la lista
    10

    Cree otra variable temporal que apunta a la estructura de datos :

     * PRODUCT_DATA producto; página 11 

    establecer la variable temporal para la variable principal :

     producto = products_head ; Página 12 

    bucle a través de los elementos , la comprobación de cada uno y luego establecer la variable temporal a la siguiente puntero para recorrer a la siguiente : mientras

     (producto) {if (! productos > product_code = 15 ) { producto = producto - > siguiente ;} } Página 13 

    Compruebe si la variable es NULL . Si es así , nunca se encontró el material:

     si return 0; ( producto ) . De lo contrario, señala el artículo que estabas buscando : 
     devolución de productos -> product_size ; 
    Limpie su trabajo
    14

    Desasigne la lista cuando el programa termina , como no todos los sistemas operativos se manejan de forma automática
    15

    Loop , siempre y cuando la variable de cabeza no es NULL : .

     while ( products_head ) { 
    16

    tienda su próxima puntero en la variable cola temporal :

     products_tail = products_head - > siguiente ; Página 17 

    desasignar el elemento :

     libre ( products_head ), Página 18 

    Ajuste el puntero de cabecera al puntero guardó en el paso 4 :

     products_head = products_tail ;} 

    Previous :

    next :
      Artículos relacionados
    ·Cómo realizar la asignación de memoria dinámica en C…
    ·Cómo deshabilitar Silverlight Buttons 
    ·Holográfico Definición 
    ·Cómo compilar C Fuente Con Visual C 
    ·Cómo crear una matriz en C 
    ·Cómo convertir Reality Factory En XNA 
    ·Cómo hacer Cepillos Spike en GtkRadiant 
    ·Cómo crear una fecha en C # 
    ·Recursos incrustados en Silverlight 
    ·Cómo utilizar plantillas Sobrecarga de funciones en C …
      Artículos destacados
    ·Cómo cambiar el tamaño de fuente en Java Script 
    ·Diferencia entre el indexador y Matriz 
    ·Principiante Formación SQL 
    ·Cómo agregar servicios Web de eBay en VB.NET 
    ·Cómo aprender LimeWire Código 
    ·Cómo sincronizar dos cuadros de desplazamiento en Visu…
    ·Cómo crear archivos PDF con código fuente C 
    ·Cómo editar archivos JSP en NetBeans 
    ·Cómo hacer un triángulo en Java 
    ·Cómo pasar variables de CGI de un conjunto de marcos 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com