(*L)-next=NULL;}/* 銷毀 *//* 初始條件:單鏈表L已存在。
江門網站建設公司創(chuàng)新互聯,江門網站設計制作,有大型網站制作公司豐富經驗。已為江門1000+提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的江門做網站的公司定做!
從數據結構的定義來看這是一個帶頭節(jié)點的鏈表。要弄的十分明白你要耐心點畫圖看看。
typedef struct node { char name[20]; struct node *link; }stud; 下面就來看一個建立帶表頭(若未說明,以下所指 鏈表 均帶表頭)的單 鏈表 的完整程序。
1、另外你強調不能用頭結點,所以我用指向首節(jié)點的指針。
2、用pHead的指針域指向pNew連接起來的。pTail-pNext = pNew;pNew-pNext=NULL;pTail=pNew;這三句把尾指針指向pNew,并把尾指針后移到新的節(jié)點上。
3、這要看你的鏈表是如何實現的了,我也不能準確的說為什么一定要p=first-next;我只能根據他的寫法來猜測。
4、鏈表應該使用堆空間,而你使用了棧,函數的??臻g隨著函數執(zhí)行結束就不存在了,所以你在output用指針訪問一個野地址一定會出錯的。
5、就是釋放由head指針指向的一串鏈表的空間。
6、{ if(p-age==c){ p=p-st;if(!p){ s-st = NULL;break;} else s-st = p;} printf(stu_ID=%d,sex=%c,age=%d\n,p-stu_ID,p-sex,p-age);} getch();} 希望能解決您的問題。
1、//寫出建立一個帶頭結點的線性鏈表的函數,其中每個結點包括學號、姓名、分數三個數據域。
2、//表示一個學生的信息\x0d\x0astruct node *next; //表示一個NODE類型的指針\x0d\x0a}NODE;\x0d\x0a//寫出建立一個帶頭結點的線性鏈表的函數,其中每個結點包括學號、姓名、分數三個數據域。
3、不是L里面存的那個地址,即函數里面那個*L相當于是 *(&L),這個叫做指針的指針。另外,你這個數據結構的代碼看不懂,你可以去看看c語言里面講的那個結構體。
4、不會的,新的變量都是重新分配的新空間,只要你自己不在代碼里面越界操作,沒有任何一個訪問會侵占你的鏈表空間。
5、/ 有幾個問題:Linklist已經是指針類型,所有用它定義的變量都是指針,不用再加*;Linklist*——指針的指針,這里直接用Linklist就可以了。