資料結構 線性表

2021-09-27 04:34:37 字數 1229 閱讀 8036

設非空線性ha和hb都用帶頭結點的迴圈雙鏈表表示。設計乙個演算法insert(ha,hb,i)。其功能是:i=0時,將線性表hb插入到線性表ha的最前面;當i>0時,將線性表hb插入到線性表ha中的第i個結點的後面;當i大於等於線性表ha的長度時,將線性表hb插入到線性表ha的最後面。

完整源**如下:

#include

#include

typedef struct dnode

dlinknode;

void

init

(dlinknode *&l

)void

creat

(dlinknode *&l

,int a[

],int n)

r->next =l;

}void

insert

(dlinknode *

&ha,dlinknode *

&hb,int i)

printf

("length:%d\n"

,length);if

(i>=length)

//把hb插入到ha的結尾

else

if(i==0)

//把錶hb插入到ha的開頭

else

//把hb插入到ha中第i個元素的後面

pre = p-

>next;

q = hb;

while

(q->next != hb)

q = q-

>next;

q->next = pre;

pre-

>prior = q;

p->next = hb-

>next;

hb->next-

>prior = p;}}

void

print

(dlinknode *l)

printf

("\n");

}int main()

; int b[10]

=;init

(ha)

;init

(hb)

;creat

(ha,a,10)

;creat

(hb,b,10)

;insert

(ha,hb,2)

;print

(ha)

;return0;

}

資料結構(線性表)

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...