2018 2 2 鍊錶預習

2021-08-15 08:13:42 字數 1232 閱讀 7059

1.頭指標和頭結點的異同

頭指標:頭指標是指鍊錶指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標; 頭指標具有標示作用,所以常以頭指標冠以鍊錶的名字; 無論鍊錶是否為空,頭指標均不為空。頭指標是鍊錶的必要元素。

頭結點:頭結點是為了操作的統一和方便而設立的,放在第一元素的結點之前,其資料域一般無意義(也可存放鍊錶的長度);有了頭結點,對在第一元素結點前插入結點和刪除第一結點,其操作與其他結點的操作就統一了,頭結點一般不是鍊錶的必要要素。

2.獲得鍊錶第i個資料的演算法思路

(1)宣告乙個結點p 指向鍊錶第乙個結點,初始化j 從1開始;

(2)當jdata;

(6)單鏈表的插入標準語句s->next=p->next;p- >next =s ;

(7)返回成功。

4. 單鏈表第i個資料刪除結點的演算法思路

(1)宣告一結點p 指向鍊錶第乙個結點,初始化j 從1開始;

(2)當jnext 賦值給q;

(5)單鏈表的刪除標準語句p->next=q->next ;

(6)將q 結點中的資料賦值給e,作為返回;

(7)釋放q結點;

(8)返回成功。

5.單鏈表整表建立的演算法思路

(1)宣告一結點p和計數器變數i;

(2)初始化一空鍊錶l;

(3)讓l 的頭結點的指標指向null,即建立乙個帶頭結點的單鏈表;

(4)迴圈:

①生成一新結點賦值給p;

②隨機生成一數字賦值給p 的資料域p->data;

③將p 插入到頭結點與前一新結點之間。

6.單鏈表整表刪除的演算法思路如下

(1)宣告一結點p和q;

(2)將第乙個結點賦值給p;

(3)迴圈:

①將下一結點賦值給q;

②釋放p;

③將q 賦值給p。

7.單鏈表結構與順序儲存結構對比

儲存分配方式:

(1)順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素

(2)單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素

時間效能:

①查詢:(1)順序儲存結構0(1)(2)單鏈表0(n)

②插入和冊除:

(1)順序儲存結構需要平均移動表長一半的元素,時間為0(n)

空間效能:

(1)順序儲存結構需要預分配儲存空間,分大了,浪費,分小了易發生上溢

(2)單鏈表不需要分配儲存空間,只要有就可以分配,元素個數也不受限制

結構體與鍊錶預習

一 結構體的宣告 我們把又一定聯絡的變數放在一起定義,這就是結構體,如下 struct student int num char name 20 float score stu struct student a,b,c scanf d s f stu.num,stu.name,stu.score 以...

鍊錶 環形鍊錶

環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...

鍊錶 初識鍊錶

鍊錶 前言 小弟初學資料結構,有錯誤的地方望大家不吝賜教 認識鍊錶 列表相比陣列更具有優勢,鍊錶不同於資料和其他資料結構依靠位置來進行訪問或者其他操作,如陣列是依靠下表來運算元據。而鍊錶是通過關係來尋找或者運算元據。鍊錶的特性 插入 和 刪除 效率高,只需要變更指向的鏈結點即可。但是隨即訪問操作的效...