(1)標頭檔案 list.h
[cpp] view plaincopyprint?
01.#include 02.#include 03.
04.#define maxsize 50 //maxsize將用於後面定義儲存空間的大小
05.typedef int elemtype; //elemtype在不同場合可以根據問題的需要確定,在此取簡單的int
06.typedef struct
07. sqlist;
11.
12.
13.//宣告自定義函式
14.void initlist(sqlist *&l); //初始化順序表
15.void listinsert(sqlist *l,int i,int b); //插入函式
16.void displist(sqlist *l); //輸出函式
17.bool listempty(sqlist *l);//判定是否為空表listempty(l)
18.void destroylist(sqlist *l);//釋放線性表l占用的記憶體空間
19.int listdelete(sqlist *, int , int &);
20.bool listempty(sqlist *l);
21.int listlength(sqlist *l);
22.int locateelem(sqlist *l, elemtype e);
23.bool getelem(sqlist *l,int i,elemtype &e);
(2)原始檔 list.cpp
[cpp] view plaincopyprint?
01.#include"list.h"
02.//輸出線性表displist(l)
03.void displist(sqlist *l)
04.
12.
13.//判定是否為空表listempty(l)
14.bool listempty(sqlist *l)
15.
18.
19.//初始化順序表initlist(*l)
20.void initlist(sqlist *&l)
21.
26.
27.void listinsert(sqlist *l,int i,int b) //插入函式
28.
35. i=i-1;
36. if(l->length==0)
37.
42.
43.
44. else
45.
50. l->data[i]=b;
51. l->length++;
52. }
53.
54.}
55.
56.void destroylist(sqlist *l)
57.
62.
63.int listdelete(sqlist *l, int i, int &e)
64.
78. l->length--;
79.
80. }
81. return e;
82.
83.}
84.int listlength(sqlist *l)
85.
88.
89.bool getelem(sqlist *l,int i,elemtype &e)
90.
97.int locateelem(sqlist *l, elemtype e)
98.
104. if(i>=l->length)
105.
108. return i+1;
109.}
#include"list.h"
//輸出線性表displist(l)
void displist(sqlist *l)
//判定是否為空表listempty(l)
bool listempty(sqlist *l)
//初始化順序表initlist(*l)
void initlist(sqlist *&l)
void listinsert(sqlist *l,int i,int b) //插入函式
i=i-1;
if(l->length==0)
else
l->data[i]=b;
l->length++; }}
void destroylist(sqlist *l)
int listdelete(sqlist *l, int i, int &e)
l->length--;
}return e;
}int listlength(sqlist *l)
bool getelem(sqlist *l,int i,elemtype &e)
int locateelem(sqlist *l, elemtype e)
if(i>=l->length)
return i+1;
}
(3)main函式
[cpp] view plaincopyprint?
01.#include"list.h"
02.int main()
03.
執行結果:
個人心得:
自己建立演算法庫更能好好的理解演算法,這也是自己動手設計,自己更能深刻理解的乙個很好的實踐
第三週專案2 建立「順序表」演算法庫
問題及 01.04.檔名稱 a.cpp 06.完成日期 2016.9.17 08.標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 09.原始檔 list.cpp,包含實現各種演算法的函式的定義 10.1.list.h的 include02.include03.d...
第三週專案2 建立順序表的演算法庫
檔名稱 專案2 建設 順序表 演算法庫.cpp 作 者 孫欽達 完成日期 2015年10月5日 版 本 號 v1.0 問題描述 領會 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是順序表的演算法庫。演算法庫包括兩個檔案 1.標頭檔案 list.h,包含定義順序...
第三週專案2 建立順序表的演算法庫
檔名稱 w.cpp 作 者 武昊 完成日期 2016年9月18日 版 本 號 v1.0 問題描述 請採用程式的多檔案組織形式,在專案1的基礎上,建立 如上的兩個檔案,另外再建立乙個原始檔,編制main函 數,完成相關的測試工作。輸入描述 無 程式輸出 資料 list.h define maxsize...