?? seqlist.h
字號(hào):
class SeqList
{
protected:
DataType *list; //數(shù)組
int maxSize; //最大元素個(gè)數(shù)
int size; //當(dāng)前元素個(gè)數(shù)
public:
SeqList(int max=0); //構(gòu)造函數(shù)
~SeqList(void); //析構(gòu)函數(shù)
int Size(void) const; //取當(dāng)前數(shù)據(jù)元素個(gè)數(shù)
void Insert(const DataType& item, int i);//插入
DataType Delete(const int i); //刪除
DataType GetData(int i) const; //取數(shù)據(jù)元素
};
SeqList::SeqList(int max) //構(gòu)造函數(shù)
{
maxSize = max;
size = 0;
list = new DataType[maxSize];
}
SeqList::~SeqList(void) //析構(gòu)函數(shù)
{
delete []list;
}
int SeqList::Size(void) const //取當(dāng)前數(shù)據(jù)元素個(gè)數(shù)
{
return size;
}
void SeqList::Insert(const DataType& item, int i) //插入
//在指定位置i前插入一個(gè)數(shù)據(jù)元素item
{
if (size == maxSize)
{
cout << "順序表已滿無法插入!" << endl;
exit(0);
}
if(i < 0 || i > size) //參數(shù)正確與否判斷
{
cout << "參數(shù)i越界出錯(cuò)!" << endl;
exit(0);
}
//從size-1至i逐個(gè)元素后移
for(int j = size; j > i; j--) list[j] = list[j-1];
list[i] = item; //在i位置插入item
size++; //當(dāng)前元素個(gè)數(shù)加1
}
DataType SeqList::Delete(const int i) //刪除
//刪除指定位置i的數(shù)據(jù)元素,刪除的元素由函數(shù)返回
{
if (size == 0)
{
cout << "順序表已空無元素可刪!" << endl;
exit(0);
}
if(i < 0 || i > size - 1) //參數(shù)正確與否判斷
{
cout<<"參數(shù)i越界出錯(cuò)!"<<endl;
exit(0);
}
DataType x = list[i]; //取到要?jiǎng)h除的元素
//從i+1至size-1逐個(gè)元素前移
for(int j = i;j < size-1; j++) list[j] = list[j+1];
size--; //當(dāng)前元素個(gè)數(shù)減1
return x; //返回刪除的元素
}
DataType SeqList::GetData(int i) const //取數(shù)據(jù)元素
//取位置i的數(shù)據(jù)元素,取到的數(shù)據(jù)元素由函數(shù)返回
{
if(i < 0 || i > size - 1) //參數(shù)正確與否判斷
{
cout << "參數(shù)i越界出錯(cuò)!" << endl;
exit(0);
}
return list[i]; //返回取到的元素
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -