數據結構實驗之鏈表二:逆序建立鏈表
題目描述
輸入整數個數N,再輸入N個整數,按照這些整數輸入的相反順序建立單鏈表,並依次遍歷輸出單鏈表的數據。
輸入
第一行輸入整數N;;
第二行依次輸入N個整數,逆序建立單鏈表。
第二行依次輸入N個整數,逆序建立單鏈表。
輸出
依次輸出單鏈表所存放的數據。
示例輸入
10 11 3 5 27 9 12 43 16 84 22
示例輸出
22 84 16 43 12 9 27 5 3 11
提示
貼一下代碼吧:
#include <stdio.h> #include <malloc.h> typedef struct Node { int data; struct Node* next; }Lnode; Lnode*create(int n) { Lnode *head,*p; int i; head=(Lnode*)malloc(sizeof(Lnode)); //這句話和下一句一定不要寫反了,不然老會有錯誤 head->next=NULL; for(i=1;i<=n;i++) { p = (Lnode*)malloc(sizeof(Lnode)); scanf("%d",&p->data); /*head->next = p; tail=p; tail->next = NULL; */ p->next=head->next; head->next=p; } return head; } int main() { int n; Lnode *head,*q; scanf("%d",&n); head=create(n); q=head; while(q->next!=NULL) { printf("%d ",q->next->data); q=q->next; } printf("\n"); return 0; } 一定要注意逆序的時候是怎麼樣插入的。