線性表(一) 順序表(3)

2021-07-06 05:50:50 字數 2376 閱讀 1590

/*     

*all right resvered .

*檔名稱: 對稱矩陣壓縮儲存的實現與應用.cpp

*作 者: 鄭兆涵

*線性表(一)——順序表

*/

問題:用多檔案組織自己的演算法庫。

演算法庫包括兩個檔案: 

(1)標頭檔案:list.h,包含定義順序表資料結構的**、巨集定義、要實現演算法的函式的宣告。

(2)原始檔:list.cpp,包含實現各種演算法的函式的定義 。

程式設計**:

list.h

#ifndef list_h_included

#define list_h_included

#define maxsize 50

typedef int elemtype;

typedef struct

sqlist;

void createlist(sqlist *&l, elemtype a, int n);//用陣列建立線性表

void initlist(sqlist *&l);//初始化線性表initlist(l)

void destroylist(sqlist *&l);//銷毀線性表destroylist(l)

bool listempty(sqlist *l);//判定是否為空表listempty(l)

int listlength(sqlist *l);//求線性表的長度listlength(l)

void displist(sqlist *l);//輸出線性表displist(l)

bool getelem(sqlist *l,int i,elemtype &e);//求某個資料元素值getelem(l,i,e)

int locateelem(sqlist *l, elemtype e);//按元素值查詢locateelem(l,e)

bool listinsert(sqlist *&l,int i,elemtype e);//插入資料元素listinsert(l,i,e)

bool listdelete(sqlist *&l,int i,elemtype &e);//刪除資料元素listdelete(l,i,e)#endif // list_h_included

#endif

list.cpp

#include #include #include "list.h"

//用陣列建立線性表

void createlist(sqlist *&l, elemtype a, int n)

//初始化線性表initlist(l)

void initlist(sqlist *&l) //引用型指標

//銷毀線性表destroylist(l)

void destroylist(sqlist *&l)

//判定是否為空表listempty(l)

bool listempty(sqlist *l)

//求線性表的長度listlength(l)

int listlength(sqlist *l)

//輸出線性表displist(l)

void displist(sqlist *l)

//求某個資料元素值getelem(l,i,e)

bool getelem(sqlist *l,int i,elemtype &e)

//按元素值查詢locateelem(l,e)

int locateelem(sqlist *l, elemtype e)

//插入資料元素listinsert(l,i,e)

bool listinsert(sqlist *&l,int i,elemtype e)

//刪除資料元素listdelete(l,i,e)

bool listdelete(sqlist *&l,int i,elemtype &e)

main.cpp

#include "list.h"

int main()

; createlist(sq, x, 6);

displist(sq);

return 0;

}

編碼分析:

對於多檔案組織演算法的過程時,首先我們需要對順序表定義標頭檔案list.h,在list.h中定義儲存結構,並宣告成員函式,這樣可以將我們的程式**進行標頭檔案和原始檔的分離;在此之後,對於我們的演算法,也就是源程式,則可以定義實現各基本操作的檔案list.cpp,而在這個檔案中我們可以將標頭檔案list.h中的函式宣告,依次進行實現;最後,我們只需要寫出測試函式main.cpp,對函式標頭檔案list.h進行呼叫即可。

順序線性表(一)

include using namespace std define init size 10 define add size 3 typedef double elemtype typedef struct sqlist 完成順序線性表的初始化 如果成功,返回1,否則返回0 int init sq...

線性表 順序表

1 線性表 線性表是最基本 最簡單 也是最常用的一種資料結構。線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的。線性表的邏輯結構簡單,便於實現和操作。因此,線性表這種資料結構在實際應用中是廣泛採用的一種資料結構。線性表 list,零個或多個資料...

線性表 順序表

線性結構的特點是 在非空的有限集合中,只有唯一的第乙個元素和唯一的最後乙個元素。第乙個元素沒有直接前驅元素,最後乙個沒有直接的後繼元素。其它元素都有唯一的前驅元素和唯一的後繼元素。要想將線性表在計算機上實現,必須把其邏輯結構轉化為計算機可識別的儲存結構。線性表的儲存結構主要有兩種 順序儲存結構和鏈式...