實驗一 鍊錶
實驗目的和要求
1.理解線性表的鏈式儲存結構。
2.熟練掌握動態鍊錶結構及有關演算法的設計。
根據具體問題的需要,設計出合理的表示資料的鍊錶結構,並設計相關 演算法。
實驗任務
1. 對任意輸入的一組資料,建立乙個遞增有序的單鏈表。
2. 將單鏈表l中的奇數項和偶數項結點分解開,並分別連成乙個單鏈表。
3. 用遞增有序的鍊錶a、b表示兩個集合,判斷b是否是a的子集。
4. 用遞增有序的鍊錶a、b表示兩個集合,設計演算法求它們的並集。
5. 設計演算法判斷單迴圈鍊錶是否每個結點的值都是偶數。
實驗內容
1實驗用儀器,裝置
visual stidio2019
2實驗內容與步驟
實驗**:
1.
#include
using
namespace std;
typedef
int elementtype;
enum errorcode
;typedef
struct linknode node;
class
list
;list::
list()
list::
~list()
bool list::
empty()
errorcode list::
insert
(const
int i)
else
s->next = p-
>next;
p->next = s;
s->data = i;
count++;}
return success;
}errorcode list::
print()
if(p-
>next ==
null
) cout << endl;
return success;
}int
main()
chain.
print()
;return0;
}
int
main()
cout <<
"奇數鍊錶:"
; odd.
print()
; cout <<
"偶數鍊錶:"
; even.
print()
;return0;
}
elementtype list::
get_top
(elementtype x)
bool list::
compare
(list m, list n);if
(x1 > x2)
if(x1 < x2)}}
if(judge ==1)
return
true
;else
return
false
;}
void
merge_list
(list a,list b, list c)
if(x < y)
if(x > y)
}while
(ia <= counta)
}while
(ib <= countb)
} c.
print()
;}
elementtype list::
is_even()
s = s-
>next;}if
(s->next == head)
return j;
}
感想、體會、建議
1.構造單鏈表時要注意相關節點結構的構造,鍊錶為空時插入新節點時要 注意頭節點與新節點的關係;要注意設定結束插入新資料的符號;
2.輸入元素時要注意鍊錶是否已滿;
3.注意get_top是否改變了x的值,是值傳遞還是引用,若是值傳遞要注意 及時改變相關值;
4.求並集時需要注意構造鍊錶時採用的是尾插法還是頭插法;
5.注意判斷的條件,最後乙個結點的判斷。
資料結構實驗報告 資料結構實驗報告
使用c語言中的陣列,實現線性表中的順序結構儲存的查詢 刪除操作。1 初始線性表通過陣列 迴圈 scanf語句實現輸入任意個整數。2 刪除操作的實現,任意輸入乙個要刪除的整數,找到這個元素,將此元素之後的所有元素逐個前移一位,實現刪除操作。3 要求以上2步操作可以重複執行。4 例如 刪除操作執行結果大...
資料結構實驗一 實驗報告
一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。三 實驗內容 1.設計乙個單檔案結構程式完成從鍵盤輸入兩個數,輸出二者的 和 和 積 的結果。要...
資料結構實驗一 實驗報告
一 實驗目的 1 掌握線性表的順序儲存結構 2 驗證順序表及其基本操作的實現 3 理解演算法與程式的關係,能夠將順序表演算法轉換為對應的程式。二 實驗內容 1 建立含有若干個元素的順序表 2 對已建立的順序表實現插入 刪除 查詢等基本操作。三 實驗源 include using namespace ...