一、線性結構的順序表基本操作
實驗目的
1.學會定義單鏈表的結點型別、線性表的順序儲存型別,實現c程式的基本結構,對線性表的一些基本操作和具體的函式定義。
2.掌握順序表的基本操作,實現順序表的插入、刪除、查詢以及求並集等運算。
3.掌握對多函式程式的輸入、編輯、除錯和執行過程。
實驗要求
1.預習c語言中結構體的定義與基本操作方法。
2.對順序表的每個基本操作用單獨的函式實現。
3.編寫完整程式完成下面的實驗內容並上機執行。
實驗內容
1.編寫程式實現順序表的下列基本操作:
(1)初始化順序表la。
(2)將la置為空表。
(3)銷毀la。
(4)在la中插入乙個新的元素。
(5)刪除la中的某一元素。
(6)在la中查詢某元素,若找到,則返回它在la中第一次出現的位置,否則返回0。
(7)列印輸出la中的元素值。
2.(選做)編寫程式完成下面的操作:
(1)構造兩個順序線性表la和lb,其元素都按值非遞減順序排列。
(2)實現歸併la和lb得到新的順序表lc,lc的元素也按值非遞減順序排列。
(3)假設兩個順序線性表la和lb分別表示兩個集合a和b,利用union_sq操作實現a=a∪b。
二、單鏈表基本操作(選做)
實驗目的
1. 學會定義單鏈表的結點型別、線性表的鏈式儲存型別,實現對單鏈表的一些基本操作和具體的函式定義,了解並掌握單鏈表的類定義以及成員函式的定義與呼叫。
2. 掌握單鏈表基本操作及兩個有序表歸併、單鏈表逆置等操作的實現。
實驗要求
1.預習c語言中結構體的定義與基本操作方法。
2.對單鏈表的每個基本操作用單獨的函式實現。
3.編寫完整程式完成下面的實驗內容並上機執行。
實驗內容
1.編寫程式完成單鏈表的下列基本操作:
(1)初始化單鏈表la。
(2)在la中插入乙個新結點。
(3)刪除la中的某乙個結點。
(4)在la中查詢某結點並返回其位置。
(5)列印輸出la中的結點元素值。
2.構造乙個單鏈表l,其頭結點指標為head,編寫程式實現將l逆置。(即最後乙個結點變成第乙個結點,原來倒數第二個結點變成第二個結點,如此等等。)
附:**
c++下執行:
#include
#include
//順序表的定義:
#define listsize 100//表空間大小可根據實際需要而定,這裡假設為100
typedef
int datatype;//datatype可以是任何相應的資料型別如int ,float,char.
typedef
struct seqlist
seqlist;
int main()
printf("\n");
//插入資料
printf("輸入插入的資料 x=");
scanf("%d",&x);
printf("輸入插入的位置 k=");
scanf("%d",&k);
printf("\n插入 資料前的表:\n");//表插入前後對比性輸出
printlist(l);
l=insertlist(l,x,k);
printf("\n插入 資料後的表:\n");//表插入前後對比性輸出
printlist(l);
//刪除資料
printf("輸入刪除的位置 k=");
scanf("%d",&k);
printf("\n刪除 資料前的表:\n");//表刪除前後對比性輸出
printlist(l);
l=deletelist(l,k);
printf("\n刪除 資料後的表:\n");//表刪除前後對比性輸出
printlist(l);
return0;}
//初始化順序表
struct seqlist initlist(struct seqlist l)
//順序表的建立
struct seqlist createlist(struct seqlist l,int n)
return l;
}void printlist(seqlist l)
for(i=0;i1;i++)
printf("%d\n",l.data[i]);
}int locatelist(seqlist l,datatype x)
return0;}
struct seqlist insertlist(seqlist l,datatype x,int k)
if(l.length==listsize)
for(i=l.length;i>=k;i--)
l.data[i]=l.data[i-1];
l.data[k-1]=x;
l.length++;
return l;
}struct seqlist deletelist(seqlist l,int i)
實驗一 線性表的基本操作實現
1 實驗目的 學習線性表的順序儲存結構,掌握線性表的建立,查詢,插入,刪除和輸出等基本操作。2 實驗內容 用c 的模板機制來實現線性表的基本操作 學習掌握線性表的順序儲存結構 鏈式儲存結構的設計與操作。對順序表建立 插入 刪除的基本操作,對單鏈表建立 插入 刪除的基本操作演算法。3 實驗中用到的資料...
實驗一線性表的基本操作實現及其應用
一 實驗目的 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。二 實驗內容 1 順序表的建立與操作實現 建立 n 個元素的順序表 n 的大小和表裡資料自己確定 實現相關的操作 輸出,插 入,刪除,查詢等功能。編寫完整程式實現...
實驗一線性表的基本操作實現及其應用
一 實驗目的 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。二 實驗內容 三 實驗步驟 1 建立乙個模板類 2 建構函式建立列表,length,get,locate,insert,delete,printlist函式 3 ...