資料結構線性表

2021-09-25 09:19:06 字數 1429 閱讀 3512

//差集a,b,單鏈表

#include

typedef

struct lnodelnode;

intcreatlist

(lnode *

&c,int a,

int n)

// 建立鍊錶

r-next = null;

}

void

difference

(lnode *a,lnode *b)

else

if(p->next > q->next)

else

}}

1.1用鍊錶,長度動態變化採用鍊錶插入刪除較方便,

1.2採用順序表,順序表

1.2.3逆置順序表,用引用型別,因為需要改變順序表

void

change

(sqlist &l)

}

1.2.4刪除順序表i~j的元素

void

change

(sqlist &l,

int i,

int j)

l.length-

= dalta;

}

快速排序

1.2.5將順序表小於表頭的元素反在前頭,大於表頭元素的放在後頭

void

move

(sqlist &l)

while

(i;//當i指標來到比temp大的元素時停止

if(i} l.data[i]

= temp;

//將temp變數放在最終的位置

}}

陣列前m,後n排序p35

#include

void

form

(int a,

int m,

int n)

;using namespace std;

intmain()

;form

(a,m,n)

;//傳入的陣列不指定大小

for(

int i=

0;i<

9;i++

) cout<<}

//在c/c++中,在進行陣列傳參時,

//陣列的元素個數預設是不作為實參傳入呼叫函式,

//也就是說c/c++ 不允許向函式傳遞乙個完整的陣列作為引數

void

form

(int a,

int m,

int n)

a[j+1]

= temp;

}}

//基本操作最壞情況m次,有n個元素,時間複雜度f(mn)

資料結構(線性表)

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