該算法的結果將單鏈表head置為空表,只需要將頭節(jié)點的指針置為null即可。
目前創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網站建設、域名、雅安服務器托管、網站運營、企業(yè)網站設計、安仁網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
head = alloc_single_chain(10);//初始化起始結點 head-next = alloc_single_chain(11);//同理。
} void main(){ x=1; y=2;fun(x, y);...//此時仍然x=1; y=2;} 但是,函數(shù)寫成如下形式 void InitList(LinkList *head);可以實現(xiàn)引用傳遞參數(shù)的功能。
1、在初始化函數(shù)中,首先參數(shù)sqlist *L,應該改成Sqlist *L 然后你給L-Elem_array進行賦值操作是不對的,因為Elem_array是數(shù)組首地址,是個常量,不能進行賦值操作。
2、C數(shù)據結構的基礎是指針。好好花上幾天時間把指針搞懂再來學數(shù)據結構會事半功倍。
3、這里提供兩種創(chuàng)建順序表的代碼,一種是由系統(tǒng)分配list占用的內存,一種是自己動態(tài)分配的內存,需要在程序運行之前手動釋放占用的內存空間。
4、P是個指針變量,實際的意思是指向一個內存地址,當p=(char *)malloc(2) 后,p即指向了malloc函數(shù)所分配的內存區(qū)的首地址了,并且告訴你從首地址開始后面兩個字節(jié)可用,即P[0],p[1]是可用的。
5、加*表示是指針,即函數(shù)用的是傳地址,這樣參數(shù)在函數(shù)里面被修改后是可以保存的。
6、就編一個順序表?那直接定義個數(shù)組也算是順序表了。
void InitList(LinkList *head);可以實現(xiàn)引用傳遞參數(shù)的功能。在需要函數(shù)內部修改鏈表頭指針時,用該形式可以解決該問題。而void InitList(LinkList head) 不可以在函數(shù)內部修改鏈表頭指針。
你分配的空間也是給臨時的變量L分配,而不是main里面的L。 引用的話,則只有一個L,所以可以。一個很經典的小例子,void swap(int &a,int &b)。就是交換a.b的值的函數(shù)。如果,沒用&的話,你看看是行不通的。
這一句是動態(tài)分配一個LNode型結點,并返回LNode*型空間,即給頭結點分配一個空間。你前面確實聲明了一個頭指針,但關鍵是頭指針并沒有指向頭結點。
C語言(數(shù)據結構)順序表的初始化需要申請結點空間。
在內存在不僅僅是一個地址,還分配了空間,就像你定義了一個數(shù)組一樣,已經在內存存在空間了,不需要再分配了??傮w來說就是你定義的是指針的話就要分配空間。
網站標題:c語言鏈表的初始化函數(shù) c++ 鏈表初始化
分享網址:http://www.rwnh.cn/article2/depedoc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供全網營銷推廣、外貿網站建設、網站制作、、自適應網站、品牌網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)