熟練掌握線性表的結構特點,掌握順序表的基本操作,鞏固c++相關的程式設計方法與技術
建立若干個元素的順序表
實現相關的操作,輸出、插入、刪除、查詢等功能,編寫完整程式實現
實驗程式中用到的資料型別的定義:int、char
輸入輸出,線性表的長度為length,將資料存放在標頭檔案中建立的陣列data[maxsize]中,輸入時出現length大於maxsize出現上溢,為零則出現下溢。
插入,用j標記元素所在的陣列.將第j個元素存在陣列下標為j-1的位置
查詢,用迴圈語句,在陣列中尋找該元素,直到相等,停止迴圈
刪除,先利用查詢功能找出元素位置,利用j位置替換j-1位置
完整程式:
#ifndef seqlist_h //標頭檔案
#define seqlist_h
const int maxsize=12;
class seqlist
public:
seqlist()
seqlist(inta,int n);
~seqlist(){}
voidinsert(int i,int x);
intdelete(int i);
intlocate(int x);
voidprintlist();
private:
intdata[maxsize];
intlength;
#endif
#include//引入輸入輸出流
using namespace std;
#include"seqlist.h"
//以下是類seqlist的宣告
seqlist::seqlist(int a,int n)
if(n>maxsize)throw"引數非法";
for(inti=0;idata[i]=a[i];
length=n;
void seqlist::insert(int i,int x) //插入功能
if(length>=maxsize)throw"上溢";
if(i<1||i>length+1)throw"位置非法";
for(intj=length;j>=i;j--)
data[j]=data[j-1];
data[i-1]=x;
length++;
int seqlist::delete(int i) //刪除功能
if(length==0)throw"下溢";
if(i<1||i>length)throw"位置非法";
intx=data[i-1];
for(intj=i;jdata[j-1]=data[j];
length--;
returnx;
int seqlist::locate(int x) //查詢功能
for(inti=0;iif(data[i]==x)return i+1;
return0;
void seqlist::printlist() //輸出功能
這是資料結構的第一節實驗課,順序表既線性表的順序儲存結構,在理論課上對順序表的概念還有點模糊,在實驗課上可以得到進一步的理解。在實驗過程中,我只實現了基本的功能,所以我需要向同學多參考多學習。資料結構的學習需要結合c++,所以我要不斷回顧之前的c++知識。
實驗一順序表的實現
includeusing namespace std const int maxsize 50 class seqlist seqlist int a,int n seqlist int length int locate int x void insert int i,int x int dele...
實驗一 順序表
一 實驗目的 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。二 實驗內容 1 順序表的建立與操作實現建立 n 個元素的順序表 n 的大小和表裡資料自己確定 實現相關的操作 輸出,插入,刪除,查詢等功能。三 由於線性表的資料...
實驗一 線性表的順序實現
很快期末了,準備把資料結構的寫過的實驗彙總一波,也相當於複習一下了。以下 均通過驗證,可以達到實驗要求 include include 順序表的標頭檔案,檔名sequlist.h define maxsize 100 typedef int datatype typedef structsequen...