考研資料結構動 靜態分配順序表(線性表)

2021-10-24 14:48:33 字數 2507 閱讀 6667

#include 

#include

//新增malloc函式的標頭檔案

//預定義常量和型別

#define list_init_size

10//線性表的儲存空間的初始分配量

typedef int elemtype;

//取別名 方便改

typedef structsqlist;

//順序表的型別定義

//初始化 順序表 靜態分配

void

initlist

(sqlist &l)

//插入 順序表

bool listinsert

(sqlist &

l,int i,elemtype e)

//刪除 順序表

bool listdelete

(sqlist &

l,int i,elemtype &e)

//按位置查詢順序表

elemtype getelem

(sqlist l

,int i)

//在順序表l中查詢第乙個元素值等於e的元素,並返回其位序

int locateelem

(sqlist l

,elemtype e)

int main()

//按位查詢資料

for(int i=

1;i<=

l.length;i++

)//查詢到數值8的位置

//也可以用鍵盤輸入獲取我就不寫了

printf

("查詢到位置%d"

,locateelem(l

,8))

;//刪除實現

elemtype e=-1

;//用變數e把刪除的元素帶回來if(

listdelete(l

,3, e)

)printf

("已刪除第3個元素,刪除元素值為%d\n"

,e);

else

printf

("位序不合法,刪除失敗");

//system("pause");//讓控制台停留

return0;

}

#include 

#include

//新增malloc函式的標頭檔案

//預定義常量和型別

#define list_init_size

10//初始分配量

typedef int elemtype;

//取別名 方便改

typedef structsqlist;

//順序表的型別定義(動態分配方式)

//初始化 順序表 動態分配

void

initlist

(sqlist &l)

//插入 順序表

bool listinsert

(sqlist &

l,int i,elemtype e)

//增加 動態陣列的長度

void

increasesize

(sqlist &

l,int len)

l.listsize=

l.listsize+len;

//順序表最大長度增加len

free

(p);

//釋放原來的記憶體空間

}//按位置查詢順序表

elemtype getelem

(sqlist l

,int i)

//在順序表l中查詢第乙個元素值等於e的元素,並返回其位序

int locateelem

(sqlist l

,elemtype e)

//刪除 順序表

bool listdelete

(sqlist &

l,int i,elemtype &e)

int main()

//查詢增加容量之前

for(int i=

1;i<=

l.length;i++

)increasesize(l

,5);

//對順序表l增加容量5

listinsert(l

,11,21

);//向增加容量後的順序表l的第11個位置插入21

//查詢增加容量之後

for(int i=

1;i<=

l.length;i++

)//刪除實現

elemtype e=-1

;//用變數e把刪除的元素帶回來if(

listdelete(l

,3, e)

)printf

("已刪除第3個元素,刪除元素值為%d\n"

,e);

else

printf

("位序不合法,刪除失敗");

//system("pause");//讓控制台停留

return0;

}

兩種分配方式的**都差不多。

考研複習之資料結構 順序表(靜態分配)

忘得差不多的順序表撿起來重新寫,寫了快兩個小時吧,基本上算是寫完了,有希望看到其他功能的歡迎補充!include include include includeusing namespace std define maxsize 50 typedef structsqlist int initlis...

資料結構靜態順序表

define max size 10 typedef int datatype struct seqlist 以上 就是建立乙個順序表,其中seqlist是整個順序表的空間而size是順序表中元素的個數。接下來我將用靜態順序表來實現尾插,頭插,任意插入資料,尾刪,頭刪等 標頭檔案 ifndef se...

資料結構 靜態順序表

本篇全部 都在linux系統下完成 用一段位址連續的單元依次儲存資料元素的線性結構,順序表又分為靜態順序表和動態順序表 首先建立乙個結構體seqlist,在結構體中我們定義了乙個陣列seqlist,用來存放資料,以及乙個無符號整形變數size,用來控制順序表有效資料的個數。即我們通過乙個簡單的陣列實...