1樓:鬼火妖
鍊錶是動態的進行儲存分配的一種結構。
我們知道,用陣列存放資料時,必須事先定義固定的長度(即元素個數)。如果事先難以確定元素個數,則必須把陣列定義的足夠大,以便存放,顯然這樣會浪費記憶體。
而鍊錶可根據需要開闢記憶體單元,不會浪費記憶體。
鍊錶有乙個「頭指標」變數,它存放乙個位址,該位址指向乙個元素,這個元素又指向下乙個元素......直到最後乙個元素,該元素不再指向其他元素,稱為「表尾」,鍊錶到此結束。
2樓:匿名使用者
我從另乙個角度來解釋吧.
相對於陣列來說:
優點: 通過索引(陣列下標)可以很快地訪問陣列元素;
缺點: 插入/刪除元素需要對陣列進行調整, 效率低;
而鍊錶:
優點:插入/刪除速度很快,而且不用對整個鍊錶進行調整;
缺點:只能進行順序訪問,不能隨機訪問(像陣列一樣用下標);
所以,鍊錶在一些需要快速插入/刪除,而不太關心或者不需要隨機訪問的情況下使用.
3樓:匿名使用者
簡單講,鍊錶是在一定程度上代替陣列處理資料,陣列在於確定資料個數的情況下採用,鍊錶則適用於無法確定資料個數的情況。
至於效率,如果不是特別要求,可不予考慮
4樓:秒懂百科
鍊錶:一種計算機資料結構
c語言鍊錶的用途是什麼
5樓:匿名使用者
1、鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:
乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。 相比於線性表順序結構,鍊錶比較方便插入和刪除操作。
2、例程:
/**對鍊錶的綜合操作
*功能有建立,排序,插入,刪除,輸出
*/#include
#include
typedef int elemtype;
typedef struct nodetypenodetype,*linktype;
linktype create()
p2->next=null;
free(p1);
return(head);
}void output(linktype head)}linktype sort(linktype head)ph=ph->next;
}p1=p1->next;
}return(head);
}linktype del(linktype head)if(ph==null)//沒有找到要刪除的結點else
else//刪除其它結點
}free(ph);
return(head);
}linktype insert(linktype head)if(head->next->data > insert->data)//插入頭部
else//插入到其它地方
return(head);
}void main()
6樓:匿名使用者
用來儲存邏輯位址連序而實體地址不一定連序的資料儲存結構
7樓:匿名使用者
鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。
鍊錶有乙個「頭指標」變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為「結點」,每個結點都應包括兩個部分:
一為使用者需要用的實際資料,二為下乙個結點的位址。因此,head指向第乙個元素:第乙個元素又指向第二個元素;……,直到最後乙個元素,該元素不再指向其它元素,它稱為「表尾」,它的位址部分放乙個「null」(表示「空位址」),鍊錶到此結束。
8樓:幸巴達
是一種儲存資料的結構方式
9樓:匿名使用者
可以作為臨時儲存容器
j**a中煉表有什麼用
c++的鍊錶有什麼作用?
10樓:匿名使用者
資料的一種儲存方式,一般是用兩個指標儲存乙個資料和下乙個鍊錶結構的指標,這樣只要記憶體夠大就可以儲存無限條資料,還有就是隨機插入和移除速度較快。不過隨機訪問很慢,結構佔記憶體大。反正我不喜歡這個資料結構。
c語言結構體煉表有什麼用
11樓:匿名使用者
當你學了資料結構就明白它的作用了,它是資料結構的基礎知識,比如鍊錶、樹、圖等資料結構都要用到它。
12樓:匿名使用者
將某一型別的資料鏈結在一起,不同於陣列的是不用限定邊界.記憶體可以隨機分配,也可以是順序分配。
13樓:匿名使用者
//你學過指標嗎? 你就知道指標是可以儲存乙個位址,你想一下,如果給每個指標 malloc 的話,第乙個*next中儲存第二個的位址,第二個的*next 儲存第三個位址,這樣一直下去
typedef struct node
link;
link * insert()
void insert(link *q)
void main()
其實 資料結構沒有什麼,只要多多練習就可以啦,只要把別人 玩遊戲的時間,追女孩子的時間,看電影的時間,全部花在程式設計上,會找到程式設計的快樂,祝你成功啊·
只要多多練習,從中找到他們的錯誤,你就成長了·
14樓:秒懂百科
鍊錶:一種計算機資料結構
c++裡 鍊錶是個什麼玩意 書上的看不懂啊 可以用鍊錶幹什麼啊 求救
15樓:匿名使用者
c語言中的鍊錶部分是很重要的內容,是必須掌握的。在以後的工作中,會涉及到資訊管理、員工管理等方面的內容,這些都需要用鍊錶來解決,如果一時不能理解,可以通過畫圖來幫助理解,尤其在排序方面,畫圖輔助理解更不可少。
16樓:匿名使用者
重要的兩個概念。乙個是自己的資料成員,和指向下乙個的指標,下乙個和這個有相同的資料
c語言指標定義,有什麼用,作用有
指標是c語言中廣泛使用的一種資料型別。運用指標程式設計是c語言最主要的風格之一。利用指標變數可以表示各種資料結構 能很方便地使用陣列和字串 並能象組合語言一樣處理記憶體位址,從而編出精練而高效的程式。指標極大地豐富了c語言的功能。學習指標是學習c語言中最重要的一環,能否正確理解和使用指標是是否掌握c...
C語言裡的 號是做什麼用的
屬於條件運算子 語法 e1?e2 e3 若e1為真 非0 則此表示式值為e2的值 若為假,則表示式的值為e3 相當於if e1 e2 else e3 例如 y x 0?x x 即x 0時y x 否則y x 其實就是求絕對值。判斷前面的布林值是真還是假,真執行 前面的 否則執行 後面的 例如int m...
C語言中,佇列是什麼意思,有什麼用途
佇列是一種特殊的線性表,它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。在佇列這種資料結構中,最先插入在元素將是最先被刪除 反之最後插入的元素將最後被刪除,因此佇列又稱為 先進先出 ...
C中的get和set有什麼用
get set為獲取或者設定類中的屬性 比如 private int count public int count get 可以在屬性中做驗證或者通過屬性對某個屬性進行保護 這裡在屬性宣告中要用到的 如 class classa public int a set 在類classa裡面有乙個私有的變數...
東方project遊戲中的c鍵有什麼用
基本按鍵如下 小鍵盤上下左右對應各移動方向也就是 對應人物的上下左右z射擊,確定x取消,使用符卡 有結界時則為釋放結界 就是必殺啦,shift進入低速移動擦彈模式,這個是要按住的,按住後人物的移動速度會減慢,容易進行精密操作。系列簡介東方project的基礎是日本同人遊戲社團上海愛麗絲幻樂團所製作的...