6-2 de datos inversas para establecer la lista (20 puntos)

Este problema se requiere para lograr una función, una lista en orden inverso de los datos de entrada.

Función de definición de interfaz:
struct NodoLista CreateList * ();

CreateList scanf función adquirida mediante la entrada de una serie de números enteros positivos, indica que el final de la entrada cuando se lee -1. El establecimiento de una lista en orden inverso de los datos de entrada, y devolver el puntero de lista de la cabeza. estructura de nodos de lista se define como sigue:

struct NodoLista {
de datos INT;
struct NodoLista * siguiente;
};

programa de muestra de prueba Árbitro:
#include <stdio.h>
#include <stdlib.h>

struct NodoLista {
de datos INT;
struct NodoLista * siguiente;
};

struct NodoLista * CreateList ();

int main ()
{
struct NodoLista * p, * cabeza = NULL;

head = createlist();
for ( p = head; p != NULL; p = p->next )
    printf("%d ", p->data);
printf("\n");

return 0;

}

/ * El código será incorporado aquí * /

de entrada de la muestra:
1234567-1

Muestra de la salida:
7654321

struct ListNode *createlist()
{
    struct ListNode *L=(struct ListNode*)malloc(sizeof(struct ListNode));
    L->next=NULL;
    int e;
    scanf("%d",&e);
    while(e!=-1)
    {
        struct ListNode *s=(struct ListNode*)malloc(sizeof(struct ListNode));
        s->next=NULL;
        s->data=e;
        s->next=L->next;
        L->next=s;
        scanf("%d",&e);
    }
    return L->next;//如果直接返回L的话,就会带有头结点,打印出来的数中会带有头结点中的随机值。这样打印出来就是从首元开始的了
}
Publicado 33 artículos originales · ganado elogios 4 · Vistas 3053

Supongo que te gusta

Origin blog.csdn.net/qq_45728926/article/details/105168053
Recomendado
Clasificación