資料結構 順序表相關操作

2021-10-07 02:10:44 字數 2533 閱讀 6060

/*

project: sequence_list(資料結構-順序表)

creatlist(sqlist &l,int n) 引數:順序表l,順序表長度n 功能:建立長度為的順序表 時間複雜度:o(n)

initlist(sqlist &l) 引數:順序表l 功能:初始化 時間複雜度:o(1)

insertlist(sqlist &l,int i,elemtype e) 引數:順序表l,位置i,元素e 功能:位置i處插入元素e 時間複雜度:o(n)

listdelete(sqlist &l,int i) 引數:順序表l,位置i 功能:刪除位置i處元素 時間複雜度:o(n)

locateelem(sqlist l,elemtype e) 引數:順序表l,元素e 功能:返回第乙個等於e的元素的位置 時間複雜度:o(n)

printlist(sqlist l) 引數:順序表l 功能:遍歷l,並輸出

splitsort(sqlist &l) 引數:順序表l 功能:分開奇偶,並分開排序*/

#include

#include

#include

#include

#include

#include

#define maxsize 100

#define elemtype int

#define status int

using namespace std;

//順序表資料結構

typedef struct

sqlist;

//***************************基本操作函式*******************************//

//初始化順序表函式,構造乙個空的順序表

status initlist(sqlist &l)

//建立順序表函式 初始化前n個資料

bool creatlist(sqlist &l, int n)

return true;}/

/插入函式 位置i插入資料 i及之後元素後移 1=+1

bool insertlist(sqlist &l, int i, elemtype e)

if(l.length >= maxsize)

//判斷儲存空間是否已滿

for(int j = l.length; j >= i; j--)/

/位置i及之後元素後移

l.data

[i - 1] = e;

l.length++

;return true;}/

/刪除函式 刪除位置i的元素 i之後的元素依次前移

bool listdelete(sqlist &l, int i)

for(int j = i; j <= l.length - 1; j++)/

/位置i之後元素依次前移覆蓋

l.length--

;return true;}/

/查詢函式 按位置從小到大查詢第乙個值等於e的元素 並返回位置

int locateelem(sqlist l, elemtype e)

return 0;}/

/倒置函式 將原順序表直接倒置

void reverse(sqlist &l)}/

/奇偶分開並排序

void splitsort(sqlist &l)if(

!flag)

//沒有交換

}if(flag)

}sort

(l.data

, l.

data

+ even + 1)

;sort

(l.data

+ odd, l.

data

+ l.length);}

//*******************************

*功能函式*****************************************//

//輸出功能函式 按位置從小到大輸出順序表所有元素

void printlist(sqlist l)

printf(

"\n");

}//建立順序表函式

void create(sqlist &l)

else printf(

"輸入長度非法!\n");

}//插入功能函式 呼叫insertlist完成順序表元素插入 呼叫printlist函式顯示插入成功後的結果

void insert(sqlist &l)}/

/刪除功能函式 呼叫listdelete函式完成順序表的刪除 呼叫printlist函式顯示插入成功後的結果

void delete(sqlist &l)}/

/查詢功能函式 呼叫locateelem查詢元素

void search(sqlist l)

else

printf(

"未找到該元素!\n");

}//選單void menu(

)int main()}

return 0;

}

《大話資料結構》 3 1順序表相關操作

最近開始學習 大話資料結構 這本書,準備把裡面的範例用c 敲一敲,以備後續複習,目前還是很菜很菜,盡量把子函式寫清楚,主函式可能就考慮的不是那麼周到了。include using namespace std include include class mylist bool isempty 判斷線性...

資料結構 順序表相關演算法

1 include 2 include 3 4 define list init size 100 5 define listincrement 10 6 define overflow 2 7 define ok 1 8 define error 0 9 typedef int elemtype ...

順序表相關操作

include define max 100 定義順序表的最大值 順序表的定義 typedef struct sequence list 函式功能 順序表的初始化 置空表 函式引數 指向sequenc list型變數的指標head 函式返回值 空 檔名 sequenc list.h 函式名 slt ...