資料結構實驗 實驗一:順序表的實現及應用
實驗一:順序表的實現及應用
一、實驗實習目的及要求
了解和掌握線性表的順序儲存結構;掌握用c語言上機除錯線性表的基本方法;掌握線性表的基本操作:插入、刪除、查詢以及線性表合併等運算在順序儲存結構和鏈結儲存結構上的運算,以及對相應演算法的效能分析。
二、實驗實習裝置(環境)及要求(軟硬體條件)
b516/b517實驗室,使用vc上機除錯出正確結果
三、實驗實習專案、內容與步驟
給定一段程式**,程式**所完成的功能為:(1)建立乙個線性表;(2)依次輸入資料元素1,2,3,4,5,6,7,8,9,10;(3)刪除資料元素5;(4)依次顯示當前線性表中的資料元素。假設該線性表的資料元素個數在最壞情況下不會超過100個,要求使用順序表。
程式中有3處錯誤的地方,有標識,屬於邏輯錯誤,對照書中的**仔細分析後,要求同學們修改錯誤的**,修改後上機除錯得到正確的執行結果。
四、實驗實習所得結果及分析
1、插入是將後面的元素後移
else
2、刪除是將後面的元素前移
else
3、listget缺少線性表
for(i = 0; i < listlength(mylist); i++)
五、實驗實習結果分析和(或)源程式除錯過程
1、設計思路
•先定義乙個資料結構,然後定義兩個有元素的有序表initlist l1、initlist l2和乙個空表initlist l3。
•設定兩個表的資料為list1[15]= list2[15]=。
•將兩個有序表中的數按順序比較大小,將小的數依次插入進空表中。如果兩個元素相等則返回第一步迴圈。最後依次輸出第三個表的元素。
2、**如下
#include
struct initlist
;int main()
;int list2[15]=;
int list3[30];
struct initlist l1=;
struct initlist l2=;
struct initlist l3=;
int i,j,k;
for(i=j=k=0 ; kl2.list[j])
else if(l1.list[i]==l2.list[j])
else
}while(k}
3、源程式除錯
資料結構實驗
資料結構實驗 寫乙個學生管理系統 如下 define overflow 1 define ok 1 define error 1 define maxsize 6 define increment 10 include include include include typedef int stat...
資料結構實驗報告 資料結構實驗報告
使用c語言中的陣列,實現線性表中的順序結構儲存的查詢 刪除操作。1 初始線性表通過陣列 迴圈 scanf語句實現輸入任意個整數。2 刪除操作的實現,任意輸入乙個要刪除的整數,找到這個元素,將此元素之後的所有元素逐個前移一位,實現刪除操作。3 要求以上2步操作可以重複執行。4 例如 刪除操作執行結果大...
資料結構實驗指導
資料結構實驗指導 實驗一 線性表的操作 實驗一a 線性表的順序儲存結構操作 題目 設順序表va中的資料元素遞增有序,試寫一演算法,將x插入到順序表的適當位置上,以保證該錶的有序性。實驗目的 掌握用動態陣列實現線性表的順序儲存結構及順序表的初始化 查詢 插入操作。分析 本程式設計方法 先根據插入結點x...