資料結構 鍊錶的實現和應用

2021-09-24 05:35:13 字數 2433 閱讀 9136

⑴定義線性表的鏈式儲存表示;

⑵基於所設計的儲存結構實現線性表的基本操作;

⑶編寫乙個主程式對所實現的線性表進行測試;

⑷線性表的應用:

①設線性表l1和l2分別代表集合a和b,試設計演算法求a和b的並集c,並用線性表l3代表集合c;

②設線性表l1和l2中的資料元素為整數,且均已按值非遞減有序排列,試設計演算法對l1和l2進行合併,用線性表l3儲存合併結果,要求l3中的資料元素也按值非遞減有序排列。

⑸設計乙個一元多項式計算器,要求能夠:①輸入並建立多項式;②輸出多項式;③執行兩個多項式相加;

#include

using namespace std;

typedef

int elemtype;

// 帶頭結點的鍊錶

typedef

struct nodelnode;

intinitlist

(lnode &a)

;//初始化

intclearlist

(lnode &a)

;//置為空表 怎麼整

intlistempty

(lnode &a)

;//是否為空,是返回 1,不是返回0

intlistlength

(lnode a)

;//線性表長度

intgetelem

(lnode a,

int i,elemtype &e)

;//線性表a中的第i個賦值給e

intlocateelem

(lnode a,elemtype e)

;//判斷a中是否含有e ,有返回1,沒有返回0

intinput

(lnode &a)

;//輸入資料

intoutput

(lnode a)

;//輸出資料

int merge1 (lnode a,lnode b,lnode &c)

;//有序合併

int merge2 (lnode a,lnode b,lnode &c)

;//無序合併

int delete (lnode &a,

int i,elemtype &e)

;//刪除第n個資料

intinsert

(lnode &c,

int n,elemtype e)

;//在第n個位置插入資料

intmain()

intinitlist

(lnode &a)

intinsert

(lnode &c,

int i,elemtype e)

//把e放到第n個位置 if(

!p||j>i-1)

node* s=

(lnode*

)malloc

(sizeof

(lnode));

s->data=e;

s->next=p->next;

p->next=s;

return0;

}int delete (lnode &a,

int i,elemtype &e)if(

!p||j>i-1)

lnode* s=p->next;

e=s->data;

p->next=s->next;

free

(s);

return0;

}int

getelem

(lnode a,

int i,elemtype &e)if(

!p||j>i)

e=p->data;

return0;

}int

clearlist

(lnode &a)

}int

input

(lnode &a)

//輸入資料

return0;

}int

merge2

(lnode a,lnode b,lnode &c)

else

if(pa->data==pb->data)

else

}while

(pa)

while

(pb)

return0;

}int

merge1

(lnode a,lnode b,lnode &c)

p=&b;

i=1;while

(p->next)

return0;

}int

locateelem

(lnode a,elemtype e)

return1;

}int

output

(lnode a)

printf

("\n");

}

資料結構 順序表和煉表的實現和應用

1.採用遞增有序的順序表表示集合,求解兩個集合的交集 1 定義順序表的儲存結構 2 實現儲存遞增有序集合的順序表的建立 求交集運算 2.採用遞增有序的鍊錶表示集合,求解兩個集合的交集 1 定義鍊錶的儲存結構 2 實現儲存遞增有序集合的鍊錶的建立 求交集運算 3.比較順序表和煉表的優缺點和適用場合 1...

資料結構 鍊錶應用

鍊錶應用 pragma warning disable 4996 include includetypedef struct data typedef struct nodechainlisttype void chainlistall chainlisttype head 顯示所有節點 chain...

資料結構鍊錶實現

二 實驗基本原理與設計 三 主要儀器裝置及耗材 四 附錄 利用linux gnu make c 專案管理軟體工具實現資料結構鍊錶 linked list 要求實現以下功能 push,pop,insert,delete,search,visit go through,clear。節點的資料必須具有一般...