將乙個鍊錶按逆序排列,即將鏈頭當鍊尾,鏈尾當鏈頭。
程式的執行示例如下:
請輸入鍊錶(非數表示結束)
結點值:3
結點值:4
結點值:5
結點值:6
結點值:7
結點值:end
原來表:
3 4 5 6 7
反轉表:
7 6 5 4 3
#include
#include
typedef
struct link
link;
void
reverse
(link *p)
;int
main()
else
tail=p;
tail->next=
null;}
else
break;}
while(1
);pr=head;
printf
("\n原來表:\n");
dowhile
(pr!=
null);
printf
("\n\n反轉表:\n");
reverse
(head);}
void
reverse
(link *p)
printf
("%4d"
,p->data)
;}
將乙個鍊錶按逆序排列
本 的作用是將乙個鍊錶按逆序排列,若煉表為空鍊錶或只含有乙個結點則無需進行處理。在主函式中建立乙個空鍊錶,然後用頭插法依次插入元素,則其資料域依次存入的值為 8,7,6,5,4,3,2,1,在reverse函式中對其進行逆序處理。若不是空鍊錶或只有乙個結點的鍊錶則繼續對其進行操作。用p1,p2,p3...
逆序建立乙個鍊錶
本題要求實現乙個函式,按輸入資料的逆序建立乙個鍊錶。函式介面定義 struct listnode createlist 函式createlist利用scanf從輸入中獲取一系列正整數,當讀到 1時表示輸入結束。按輸入資料的逆序建立乙個鍊錶,並返回煉表頭指標。鍊錶節點結構定義如下 struct lis...
將乙個鍊錶進行反轉
面試題16 反轉鍊錶 定義乙個函式,輸入鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點。struct listnode 建立鍊錶 listnode createlistnode int value 連線鍊錶的兩個結點 void connectlistnode listnode pcurrent,l...