小白學資料結構 線性表

2021-10-01 23:58:09 字數 1506 閱讀 8820

順序表的操作可視為一維陣列的操作,不予贅述。

線性鍊錶的基本操作:構造鍊錶以及對其增刪查改等,在此列出在指定位置插入節點和刪除節點的**(c語言實現)。

#include

#include

#include

typedef int elemtype;

typedef struct

linear_list;

//動態定義線性表(順序結構)

typedef struct listnode

chain_list;

//線性表(鏈式結構)

chain_list *

createlist_chain

(int length)

return p_head;

}

chain_list *

insert

(chain_list *list,elemtype data_inserted,int length,int position)

//鍊錶的插入操作,data_inserted給定插入資料,length給定表長,position給定插入位置

if(position==1)

//插入頭端

while

(i_record!=position-1)

//插入除頭尾指定位置

//滾動指標到達待插入位置前端

p->next=p_run-

>next;

p_run-

>next=p;

//插入操作

length++

;return list;

}

chain_list *

delete

(chain_list *list,int length,int position)

//鍊錶的刪除操作,length給定表長,position給定刪除位置

while

(i_record!=position-1)

//滾動指標找到刪除位(指向刪除位前乙個元素)

chain_list *p_deleted=p_run-

>next;

//記錄刪除位

p_run-

>next=p_run-

>next-

>next;

//前一元素指向隔兩個元素

p_deleted-

>next=

null

;//刪除位後繼置空

free

(p_deleted)

;//釋放刪除位

return list;

}

void

printchain

(chain_list *list)

int main()

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...

資料結構 線性表

線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...