#include
#include
#include
#include
#include
using namespace std;
#define list_init_size 100
//線性表儲存空間初始分配量
#define listincrement 10
//線性表儲存空間的分配增量
#define ok 1
#define error 0
#define true 1
#define false 0
#define overflow -2
#define max_size 100
#define list int
typedef
int status;
typedef
int elemtype;
typedef
struct
sqlist;
/****************基本操作函式*****************/
//1.線性表l的初始化
status initlist_sq
(sqlist &l)
//構建乙個空的線性表
//2.銷毀線性表l
void
destroy
(sqlist &l)
//3.清空線性表l
void
clearlist
(sqlist &l)
//4.求線性表的長度
intgetlength
(sqlist l)
//5.判斷線性表是否為空
intisempty
(sqlist l)
//6.順序表的取值,根據位置i獲取內容
intgetelem
(sqlist l,
int i, elemtype &e)
//7.順序表的查詢
//演算法思想:
// 2.從表的一端開始,逐個進行比較
intlocateelem
(sqlist l, elemtype e)
return error;
}//8.順序表的插入
//演算法思想:
// 1.判斷插入位置i是否合法
// 2.判斷順序表的儲存空間是否已滿,已滿增加儲存空間
// 3.將第n至第i位的元素一次向後移動乙個位置,空出第i個位置
// 4.將要插入的新元素放入e放入第i個位置
// 5.表長加1,插入成功返回ok
status listinsert_sq
(sqlist &l ,
int i, elemtype e)
q =&(l.elem[i-1]
);//q為插入位置的位址
for(p =
&l.elem[l.length-1]
; p >= q;
--p)
*q = e;
//全部移動完後插入e
++l.length;
//表長加1
return ok;
}//9.順序表的刪除
//演算法思想:
// 1.判斷刪除位置i是否合法
// 2.將欲刪除的元素儲存在e中
// 3.將第i+1至n位元素依次向前移動乙個位置
// 4.表長減1,刪除成功返回ok
status listdelete_sq
(sqlist &l,
int i, elemtype &e)
--l.length;
return ok;
}//10.建立順序表函式 初始化前n個資料
intcreatlist
(sqlist &l,
int n)
return ok;
}//********************************功能函式*****************************************//
//輸出功能函式 按位置從小到大輸出順序表所有元素
void
printlist
(sqlist l)
printf
("\n");
}//建立順序表函式
void
create
(sqlist &l)
else
printf
("輸入長度非法!\n");
}//插入功能函式 呼叫insertlist完成順序表元素插入 呼叫printlist函式顯示插入成功後的結果
void
insert
(sqlist &l)
else
}//刪除功能函式 呼叫listdelete函式完成順序表的刪除 呼叫printlist函式顯示插入成功後的結果
void
delete
(sqlist &l)
else
}//查詢功能函式 呼叫locateelem查詢元素
void
search
(sqlist l)
else
printf
("未找到該元素!\n");
}//選單
void
menu()
intmain()
}return0;
}
資料結構及演算法 順序表
順序表是一種簡單的線性結構,邏輯上相鄰的資料在計算機內的儲存位置也是相鄰的,可以快速定位第幾個元素,中間不允許有空值,插入 刪除時需要移動大量元素。順序表的三個要素 結構體定義 define max size 100 struct sqlist define max size 100 typedef...
資料結構順序表及操作集
資料結構與演算法實驗報告姓名 孫瑞霜 一 實驗目的 1 複習線性表的邏輯結構 儲存結構及基本操作 2 掌握建立空的順序表 3.1 往順序表中輸入元素 輸出順序表中的元素 往順序表中插入元素 從順序表中刪除元素等操作的實現。二 實驗要求 1 認真閱讀和掌握教材上和本實驗相關的內容和演算法。2 上機將相...
資料結構 單鏈表演算法及完整操作
include include include include include define status int define elemtype int using namespace std typedef struct lnode lnode,linklist 基本操作函式 1.初始化鍊錶 構...