零個或多個資料元素的有限序列。線性表是最基本、最簡單也是最常用的資料結構。
順序表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。除最後乙個元素之外其他資料元素均有唯一的後繼,除第乙個元素外,其他資料元素均有唯一的前驅。
資料元素的儲存位置滿足:loc(ai)=loc(a1)+(i-1)*l (l表示每個元素需要占用的儲存單元)
adt list
標頭檔案:
#includeusing namespace std;
#define invalid oxff
#define list_init_size 100
typedef int elemtype;
/*typedef struct
sqlist;*/
class sqlist
;
功能檔案:
#include "head.h"
sqlist::sqlist()
sqlist::~sqlist()
bool sqlist::initlist(int *arr, int len)
length = len;
return true;
}bool sqlist::printlist()
cout << endl;
return true;
}int sqlist::length()
int sqlist::get(int i)
return data[i];
}bool sqlist::inster(int i, elemtype x) //插入的過程中注意元素移動的方向。
for (int j = length; j >= i; j--)
data[i - 1] = x;
length++;
return true;
}bool sqlist::delete(int i)
for (int j = i - 1; j < length; j++)
length--;
return true;
}
主函式:
#include "head.h"
int main()
list.initlist(arr,num);
list.printlist();
int i, x;
cout << "請輸入要插入元素位置和元素:";
cin >>i>>x;
list.inster(i,x);
list.printlist();
cout << "請輸入要刪除元素位置";
cin >> i;
list.delete(i);
list.printlist();
system("pause");
return 0;
}
優點:
缺點:
//以上**測試環境為vs2017
順序表(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 ...