單鏈表的問題

時間 2022-12-04 21:25:39

1樓:高金山

沒發現嚴重的錯誤。

#define null 0

#define type struct stu#define len sizeof (struct stu)struct stu

; type *creat(int n)/*建立單鏈表*/return(head);

} void main()/*主函式實現列印單鏈表中的資料*/free(p); //這裡只free(p)是不夠的,因為p只是乙個節點,需要的是free乙個鍊錶。}

2樓:匿名使用者

只有前面兩個資料是正確的,那就有可能是使用scanf時出現了問題。可以在

scanf("%d%d",&pb->num,&pb->age); 後加

fflush(stdin);

申請記憶體失敗,

pb=(type*)malloc(len);

if(0==pb)/*失敗了*/;

釋放整個鏈

type *tmp;

type *p;

scanf("%d",&n);

p=creat(n);

while(p!=0)

3樓:匿名使用者

在vc上執行沒問題。不知道你說的時什麼問題

?free在最後面只能釋放乙個記憶體。

還是單鏈表的問題

問題出在這裡 void init node node l 這個是傳值,函式體內對形參l的任何改變並不會對實參p有影響,這樣主函式中p實際上沒有初始化 解決辦法 乙個辦法是用二重指標,還有乙個辦法是將函式體內的l做返回值 include include include define null 0 cl...

建立單鏈表

include using namespace std template class list template class linklist template class node template class linklist public list linklist telem a,int n...

設計單鏈表基本操作的程式,設計乙個單鏈表基本操作的程式

include using namespace std typedef struct lnode lnode,linklist 建立鍊錶 鍊錶轉置 n linklist q q l next j 0 while q jnext j if q j n exit 0 e q data return e ...

單鏈表排序演算法分析

typedef struct node linklist,node void paixu linklist head 這裡要加乙個大括號 printf 輸出排序後的數字 n output head 有誰能詳細分析這個演算法?給出第一次迴圈和第二次迴圈的詳解?這裡有巢狀迴圈 你說的是外層的迴圈吧?例如...

c 鍊錶改錯,C 單鏈表的建立與輸出 程式求改錯

筆誤吧,第一條交換的 previousnode p prev 改為 p previousnode next 函式送入的previousnode 一定是被交換兩個節點的父節點。就是下面說的鍊錶中的1。你的 裡中previousnode上來就賦為p prev了,此時p還沒有值 為0或隨機值 後面的所有操...