順序表C 實現

2021-10-01 20:57:35 字數 2523 閱讀 1973

seqlinklist

.**件

#ifndef seqlinklist_h

#define seqlinklist_h

//順序鍊錶

#includeusing std::cout;

using std::endl;

using std::cin;

typedef int elemtype;

constexpr auto maxsize = 20;

class seqlinklist

//保證下標從0開始變化

~seqlinklist() //一定要寫,不然要報錯

bool empty();//檢視是否為空表

void clearlist();//清空列表元素

void getelem(int npos, elemtype &elem);//獲得第npos位置的元素值,並返回給elem

bool findelem(int elem);//查詢列表中是否有elem值得元素

void insert(elemtype elem);//預設在列表尾部插入elem元素

void insert(int npos, elemtype elem);//在第npos位置前插入值為elem的元素

void delete(int npos, elemtype &elem);//刪除第npos位置的元素,並將其值返回給elem元素

void delete();//預設刪除尾部的元素

int length();//返回列表長度

void merge(seqlinklist &l);//將所有l中不在原列表的元素插入到原列表中

void print();//列印列表

private:

elemtype data[maxsize];//儲存列表的陣列

int curlength;//列表的當前長度

};#endif // !seqlinklist_h

seqlinklist.cpp

#include"seqlinklist.h"

//檢視是否為空表

bool seqlinklist::empty()

return false;

}//返回列表長度

int seqlinklist::length()

//獲得第npos位置的元素值,並返回給elem

void seqlinklist::getelem(int npos, elemtype &elem)

elem = data[npos];

}//清空列表元素

void seqlinklist::clearlist()

curlength = -1;

}//查詢列表中是否有elem值的元素

bool seqlinklist::findelem(elemtype elem)

//在第npos位置前插入值為elem的元素

void seqlinklist::insert(int npos, elemtype elem)

cout << "out of list scale! or list is empty!";

return;

} if (npos<= curlength)//可以考慮從後面開始變換,這樣就可以少寫乙個for了

else

}//預設在列表尾部插入elem元素

void seqlinklist::insert(elemtype elem)

if (npos <= curlength)

else

}//將所有l中不在原列表的元素插入到原列表中

void seqlinklist::merge(seqlinklist& l)

}//列印列表

void seqlinklist::print()

for (int i = 0; i <= curlength; i++)

cout << data[i] << " ";

cout << endl;

return;

}

main.cpp

沒寫幾個例子,可以繼續新增測試

#include"seqlinklist.h"

int main()

for (elemtype i = 0; i < 4; i++)

list.print();

list.insert(9, 5);

list.print();

list.insert(0, 5);

list.print();

list.delete();

list.print();

list.delete(9,a);

cout << a << endl;

list.print();

cout << "分割線" << endl << endl;

list.merge(list2);

list.print();

}

順序表(C 實現)

順序表是基本的資料結構,建立seqlist類,主要包括類的預設成員函式 建構函式 析構函式 賦值運算子過載 順序表的基本功能實現。順序表 typedef int datatype class seqlist seqlist 析構函式 深拷貝 seqlist const seqlist s 拷貝建構函...

C 實現順序表

順序表 用一段位址連續的儲存單元一次儲存資料元素的線性結構。目的 比較陣列 下來用 來實現順序表的各個功能 includeusing namespace std typedef int datatype class seqlist seqlist const seqlist s 拷貝建構函式 els...

c 實現順序表

include using namespace std define max size 20 define ok 1 define error 0 typedef int status typedef int elemtype 元素型別可以改變,假定這裡為int class sqlist void ...