資料結構 線性表 順序表

2021-09-17 00:21:28 字數 1571 閱讀 6649

線性表是具有相同特性的資料元素的乙個有限序列。線性表的順序儲存結構是,把線性表中的所有元素按照其邏輯順序依次儲存到從計算機儲存器中指定的儲存位置開始的一塊連續的儲存空間。

#include #include #include #define maxsize 50

using namespace std;

//假設lemtype為int型別

typedef int elemtype;

//定義線性表的順序儲存型別

typedef structsqlist;//順序表的型別定義

//宣告函式

void initlist(sqlist *&l);

void createlist(sqlist *&l,elemtype a,int n);

void destorylist(sqlist *&l);

bool listempty(sqlist *l);

int listlength(sqlist *l);

void displist(sqlist *l);

bool getelem(sqlist *l,int i,elemtype &e);

int locateelem(sqlist *l,elemtype e);

bool listinsert(sqlist *&l,int i,elemtype e);

bool listdelete(sqlist *&l,int i,elemtype &e);

int main()

; createlist(l,a,10);

displist(l);

cout << "線性表長度:"}//有陣列a建立線性表

void createlist(sqlist *&l,elemtype a,int n)

l->length=n;

}//銷毀線性表

void destorylist(sqlist *&l)

//判斷陣列是否為空

bool listempty(sqlist *l)

//返回線性表的長度

int listlength(sqlist *l)

//顯示線性表

void displist(sqlist *l)

coutlength) return false;//合法下標判斷

i--;//將序號轉為物理下標

e=l->data[i];

return true;

}//按元素查詢

int locateelem(sqlist *l,elemtype e)

//插入元素

bool listinsert(sqlist *&l,int i,elemtype e)

l->data[i]=e;//插入元素值

l->length++;//線性表長度加1

return true;

}//刪除指定位置元素

bool listdelete(sqlist *&l,int i,elemtype &e)

l->length--;//線性表長度減1

return true;

}

資料結構 線性表 順序表

豐富了前邊的功能,更加完善。include include define list init size 100 線性表儲存空間的初始分配量 define listincrement 10 線性表儲存空間的分配增量 using namespace std const int overflow 2 ty...

資料結構 線性表(順序表)

順序表就是把線性表中的所有元素按照其邏輯順序,依次儲存到從指定的儲存位置開始的一塊連續的儲存空間中。這樣線性表中第乙個元素的儲存位置就是指定的儲存位置,第i 1個元素的儲存位置緊接在第i個元素的儲存位置的後面。順序表就像如下圖中的房子,每個房間左邊的數字就是該房間離0點的距離,同時也代表了房間號,房...

線性表 順序表(資料結構)

初學資料結構,便多作了些實踐內容,將課本上的內容自己理解後寫了一遍。希望付出值得。0.前提準備 define maxsize 50 typedef int elemtype 1.建立結構體 typedef struct sqlist 建立結構體2.創造線性表 void creatlist sqlis...