1 順序表 adt
+ status initlist(seqlist &l)初始化順序表
+ void printlist(seqlist l)遍歷順序表
+ int listlength(seqlist l)獲得表長
+ status getelement(seqlist l, int i, elementtype &e)(按位)取值
+ int locateelement(seqlist l, elementtype e)(按值)查詢
+ status listinsert(seqlist &l, int i, elementtype e)(按位)插入
+ status listdelete(seqlist &l, int i)(按位)刪除
2 程式設計實現
2.1 定義基礎資料型別
elementtype (資料元素型別/結構體)
struct elementtypebool operator!=(const elementtype b) const
};
status (狀態/列舉型別)
enum status ;
seqlist (順序表/結構體)
#define maxsize_seqlist 100typedef struct seqlist; // 線性表之順序表
2.2 初始化順序表
status initlist(seqlist &l)
status initlist(seqlist &l)l.length = 0;
return ok;
}
2.3 遍歷順序表
void printlist(seqlist l)
void printlist(seqlist l)printf("\n");
}
2.4 獲得表長
int listlength(seqlist l)
int listlength(seqlist l)
2.5 (按位)取值
status getelement(seqlist l, int i, elementtype &e)
status getelement(seqlist l, int i, elementtype &e)e = l.elements[ i-1 ]; // 賦值; elements[i-1] 單元儲存的第 i 個資料元素
return ok;
}
2.6 (按值)查詢
int locateelement(seqlist l, elementtype e)
int locateelement(seqlist l, elementtype e)if(l.length == maxsize_seqlist)
for(int j=l.length; j>=i; j--)
l.elements[i-1] = e; //將新元素 e 放入 第 i 個位置
l.length += 1; //表長 + 1
return ok;
}
2.8 (按位)刪除
status listdelete(seqlist &l, int i)
status listdelete(seqlist &l, int i)for(int j=i-1; j<=l.length-1; j++)
l.length -= 1;
return ok;
}
3 測試執行(main.cpp)
#include //#include #include using namespace std;#include "base.h"
#include "seqlist.h"
int main()
執行結果
[seqlist.h#printlist] l.length: 1[seqlist.h#printlist] l.elements: f
[seqlist.h#printlist] l.length: 2
[seqlist.h#printlist] l.elements: g f
status: 1
[seqlist.h#printlist] l.length: 1
[seqlist.h#printlist] l.elements: f
[base.h#printelementtype] elementtype.data: g
4 參考資料
1 《資料結構(c語言版 第二版)》.嚴蔚敏.李冬梅.吳偉民
資料結構線性表之順序表
純手打順序表相關操作,包括順序表的建立 初始化 輸出 插入 刪除 銷毀等,僅供自己回顧使用,可能會有不對的或者不恰當的地方望大家指正,共同學習。如下 資料結構順序表 include include include define maxsize 100 using namespace std type...
資料結構 線性表之順序表
線性表是包含若干資料元素的乙個線性序列 記為 l a0,ai 1,ai,ai 1 an 1 l為表名,ai 0 i n 1 為資料元素 n為表長,n 0 時,線性表l為非空表,否則為空表。線性表l可用二元組形式描述 l d,r 即線性表l包含資料元素集合d和關係集合r d r 關係符在這裡稱為有序對...
mysql 線性表 資料結構 線性表之順序線性表
public class sequencelist else stringbuilder sb new stringbuilder for int i 0 i size i int len sb.length public class sequencelisttest public static v...