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 ...