/*
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 ...