(一)該順序表下標從一開始,具有增刪查等操作
實現如下:
#includeusing namespace std;
const int maxsize = 100;
class sqlist
int locateelem(int x);//查詢元素位置
int insert(int x);//在順序表最後插入元素
int insert(int p,int x);//在指定下標中插入元素
int deleteelem(int p,int &e);//刪除指定下標的元素
int deleteelem(int &e);//刪除最後乙個元素
int getelem(int p,int &e);
void createlist(int arr,int n);
void showlist();
private:
int data[maxsize];
int length;
};int sqlist::locateelem(int x)
int sqlist::insert(int p,int x)
int sqlist::insert(int x)
int sqlist::deleteelem(int p,int &e)
int sqlist::deleteelem(int &e)
void sqlist::showlist()
void sqlist::createlist(int arr,int n)
int main();
list.createlist(arr,sizeof(arr)/sizeof(arr[0]));
list.showlist();
list.insert(6,860);//指定位置插入
list.showlist();
list.insert(878);//順序表最後插入
list.showlist();
cout
list.deleteelem(n,e);
cout<>n;
list.getelem(n,e);
cout執行結果如下:
(二)構建乙個元素遞增有序排列的順序表
實現**如下:
#includeusing namespace std;
const int maxsize = 100;
//構造乙個遞增的順序表,數值從下標1開始
class sqlist
int locateelem(int x);//找到插入的位置
void insert(int x);//
void createlist(int arr,int n);//構造乙個遞增的順序表
void showlist();
int deleteelem(int p,int &e);//刪除指定下標的元素
int deleteelem(int &e);//刪除最後乙個元素
private:
int data[maxsize];
int length; };
int sqlist::locateelem(int x)
void sqlist::insert(int x)
int sqlist::deleteelem(int &e)
void sqlist::createlist(int arr,int n)
int main();
list.createlist(arr,sizeof(arr)/sizeof(arr[0]));
list.showlist();
cout
list.deleteelem(n,e);
cout執行結果如下:
線性表之順序表
資料結構草草學過,不過沒有認真運用過。雖然知道一些最為基本的抽象型別及一些常用操作,不過叫我把這些基本的演算法寫出來我也 是寫不出來的。因為常說資料結構 演算法是乙個程式設計師最基本的素質,所以這次認真加以複習。在複習的同時我盡量將自己學習的其他的 一些基本知識比如c 中的物件導向思想也引入進來,同...
線性表之順序表
線性表 我們都知道是一種常用的資料結構,也是歷來各種考試的重點。今天抽了一些時間把線性表做了總結。線性表是n個資料元素的乙個有限序列。用公式表示為 l a1,a2,a3,a4,an 因為線性表是乙個有限的序列,所以也如上面公式所示,它的各個元素是相繼排放的。那麼它的每個相連的兩項之間都是有乙個邏輯關...
線性表之順序表
線性表的操作 initlist l 初始化操作,建立乙個空的線性表l。listempty l 判斷線性表是否為空表,空返回true,否則返回false。clearlist l 將線性表清空。getelem l,i,e 將線性表l中的第i個位置元素值返回給e。listdelete l,i,e 刪除線性...