數據結構—線性結構—(單鏈表)

定義:

線性表的鏈式存儲又稱單鏈表

即:通過一組任意的存儲單元來存儲線性表當中的數據元素,數據元素存儲的位置不一定是連續的。

(有可能連續,有可能不連續)
在這裏插入圖片描述

存取方式:

通過指針實現線性的邏輯關係

鏈表不能實現隨機存取,且每個元素包含兩部分,

① data     即元素值
② *next    即下一個元素的存儲地址

所以,我們也可以使用一個指針用來表示單鏈表

在這裏插入圖片描述

單鏈表的兩種實現形式:

不帶頭結點
在這裏插入圖片描述

帶頭結點(優)
在這裏插入圖片描述

單鏈表的基本操作:

頭插法建立單鏈表:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

s -> next = L -> next;
L -> next = s;

頭插法建立單鏈表:時間複雜度O(n)

LinkList List_HeadInsert(LinkList &L){
	LNode *s;int x;
	L=(LinkList)malloc(sizeof(LNode));
	L->next=NULL;
	scanf("%d",&x);
	while(x!=9999){
		s=(LNode*)malloc(sizeof(LNode));
		s->data=x;
		s->next=L->next;
		L->next=s;
		scanf("%d",&x);
	}
	return L;
}

尾插法建立單鏈表:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

r -> next = s;
r = s;

尾插法建立單鏈表:時間複雜度O(n)

LinkList List_TailInsert(LinkList &L){
	int x;
	L=(LinkList)malloc(sizeof(LNode));
	LNode *s,*r=L;
	scanf("%d",&x);
	while(x!=9999){
		s=(LNode*)malloc(sizeof(LNode));
		s->data=x;
		r->next=s;
		r=s;
		scanf("%d",&x);
	}
	r->next=NULL;
	return L;
}

按序號查找&按值查找:

在這裏插入圖片描述

兩種查找均要遍歷單鏈表,僅比較的數據不同
.
按序號查找需要給遍歷元素計數,從而找到要找的元素
.
按值查找需要比對每個元素的屬性值是否與要找的元素相同

按序號查找&按值查找:時間複雜度O(n)

按序號查找:

LNode *GetElem(LinkList L,int i){
	int j=1;
	LNode *p=L->next;
	if(i==0) return L;
	if(i<1) return NULL;
	while(p&&j<i){
		p=p->next;
		j++;
	}
	return p;
}

按值查找:

LNode *LocateElem(LinkList L,ElemType e){
	LNode *p=L->next;
	while(p!=NULL&&p->data!=e){
		p=p->next;
	}
	return p;
}

插入:

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

p = GetElem(L, i - 1);
s -> next = p -> next;
p-> next = s ;

插入操作:

前插法
在第 i 個位置前插入元素

前插法:

前插法:時間複雜度O(n)

後插法
在第 i 個位置後插入元素

後插法:

後插法:時間複雜度O(1)

可以利用後插法實現前插法
.
先在第 i 個位置插入元素 e
.
然後交換第 i 個位置和第 i - 1 個位置的值

刪除:

刪除第i個元素

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

p = GetElem( L, i - 1 );
q = p -> next;
p -> next = q -> next;
free(q);

刪除給定節點 *p

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

q=q->next;
p->data=p->next->data;
p->next=q->next;
free(q);

求表長:

在這裏插入圖片描述
求表長:時間複雜度O(n)

int count=0;
p=head;
while(p->next!=NULL){
	count++;
	p=p->next;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章