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