線性表及單鏈表

2021-08-09 15:15:52 字數 884 閱讀 3149

一.

頭指標與頭結點的異同:

頭指標:

頭指標是指鍊錶指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標。

頭指標具有標識作用,所以常用頭指標冠以鍊錶的名字。

無論鍊錶是否為空,頭指標均不為空,頭指標是鍊錶的必要元素。

頭結點:

頭結點是為了操作的統一和方便而建立的,放在第一元素的結點之前,其資料域一般無意義(也可存放鍊錶的長度)

有了頭結點,對在第一元素結點錢插入結點和刪除第一結點,其操作與其他結點的操作就統一了。

頭結點不一定是鍊錶必需元素。

線性表鏈式儲存結構**描述

typedef struct node

node;

typedef struct node *linklist;

三.單鏈表的讀取

獲得鍊錶第i個資料元素的演算法思路:

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

2.     2.當j3.     若到鍊錶末尾p為空,則說明第i個元素不存在;

4.     否則查詢成功,返回結點p的資料;

實現**演算法如下:

/*初始條件:順序線性表l已存在,1<=i<=listlength(l)*/

/*操作結果:用e返回l中第i個資料元素的值*/

status getelem(linklist l,int i,elemtype*e)

if(!p||j>i)

return error; //i不存在

*e=p->data; //找到i,用e返回i的值

return ok;

}

核心思想:工作指標後移

線性表之單鏈表

cpp view plain copy linkedlist linc 2013.2.26 include include include define ok 1 define error 1 define ture 1 define false 0 struct node typedef stru...

線性表之單鏈表

零個或多個資料元素的有限序列,線性表中的元素是一對一的關係,除了第乙個元素和最後乙個元素外,其他元素都是首尾相接的。線性表有兩種儲存方式,一種是順序儲存結構,另一種是鏈式儲存結構。指用一段位址連續的儲存單元依次儲存線性表的資料元素。優點 無需為表示元素間的邏輯關係而增加額外的儲存空間 隨機查詢元素,...

線性表之單鏈表

template typenamet structnode 頭結點 如果鍊錶有頭節點,則鏈式結構中的第乙個節點稱為頭結點 其資料域可以儲存一些附加資訊,如鍊表長度 其指標域指向鍊錶中的第乙個節點。template class linklist linklist t a int n linklist ...