順序表
#include
using
namespace std;
const
int listsize=10;
///順序儲存的最大元素數量
const
int maxn=
100;
///每次分配的元素個數
#define error -1
#define ok 1
int n,m;
typedef
int elemtype;
struct list
;void
output
(list &l)
///遍歷順序表
}void
initlist
(list &l)
intinsertlist
(list &l,
int pos,elemtype e)
elemtype *q=
&(l.elem[pos-1]
);elemtype *p=
&(l.elem[l.len-1]
);while
(p>=q)
*q=e;
l.len++
;return1;
}string find
(list &l,elemtype e,
int&pos)
return
"no";}
string del
(list &l,elemtype e)
l.len--
;return
"del success!";}
void
union
(list &l1,list &l2,list &l)
else
}while
(i>=0)
while
(j>=0)
}int
main()
output(l);
for(int i=1; i<=2; i++)
else printf("查詢失敗!\n");
}for(int i=1; i<=10; i++)
else printf("刪除失敗!\n");
}*/list l1,l2,l;
///初始化
initlist
(l1)
;initlist
(l2)
;initlist
(l);
cout<<
"請輸入表a的元素個數:\n"
>n;
cout<<
"請輸入表a的元素:\n"
int i=
1;i<=n;i++
) cout<<
"請輸入表b的元素個數:\n"
>m;
cout<<
"請輸入表b的元素:\n"
int i=
1;i<=m;i++
)union
(l1,l2,l)
; cout<<
"合併後的表c的元素為:\n"
鍊錶
#include
using
namespace std;
/*(2)單鏈表的操作
① 輸入一組整型元素序列,使用尾插法建立乙個帶有頭結點的單鏈表。
② 實現該線性表的遍歷。
③ 實現單鏈表的就地逆置。
④ 建立兩個按值遞增有序的單鏈表,將他們合併成乙個按值遞增有序的單鏈表。
要求利用原來的儲存空間,並且新錶中沒有相同的元素。
*/typedef
int elemtype;
typedef
struct lnodelnode,
*linklist;
void
initlist
(linklist &l)
t->next=
null;}
void
visit
(linklist p)
void
output
(linklist l)
puts(""
);}void
reverse
(linklist &l)
}void
union
(linklist &la,linklist lb)
else
if(pa-
>data==pb-
>data)
else
} last-
>next=pa?pa:pb;
}int
main()
實驗報告 資料結構實驗二 線性表的實驗
一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第2周到第4周,具體集中實驗時間為第4週第2次課。2個學時。三 實驗...
資料結構實驗報告 資料結構實驗報告
使用c語言中的陣列,實現線性表中的順序結構儲存的查詢 刪除操作。1 初始線性表通過陣列 迴圈 scanf語句實現輸入任意個整數。2 刪除操作的實現,任意輸入乙個要刪除的整數,找到這個元素,將此元素之後的所有元素逐個前移一位,實現刪除操作。3 要求以上2步操作可以重複執行。4 例如 刪除操作執行結果大...
資料結構實驗報告
1 掌握佇列儲存結構的表示和實現方法。2 掌握佇列的入隊和出隊等基本操作的演算法實現。3 了解佇列在解決實際問題中的簡單應用。1 建立順序迴圈佇列,並在順序迴圈佇列上實現入隊 出隊基本操作 驗證性內容 2 建立迴圈鏈佇列,並在迴圈鏈佇列上實現入隊 出隊基本操作 設計性內容 3 實現鍵盤輸入迴圈緩衝區...