第三週實踐專案2 建立順序表演算法庫

2021-09-30 12:45:49 字數 1848 閱讀 7714

/*    

檔名稱:專案2--建設「順序表」演算法庫.cpp

作 者:呂云雙

完成日期:2023年9月21日

版 本 號:v1.0

*/

標頭檔案

#include #include #define maxsize 50    //maxsize將用於後面定義儲存空間的大小

typedef int elemtype; //elemtype在不同場合可以根據問題的需要確定,在此取簡單的int

typedef struct

sqlist;

//宣告自定義函式

void initlist(sqlist *&l); //初始化順序表

void listinsert(sqlist *l,int i,int b); //插入函式

void displist(sqlist *l); //輸出函式

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

void destroylist(sqlist *l);//釋放線性表l占用的記憶體空間

int listdelete(sqlist *, int , int &);

bool listempty(sqlist *l);

int listlength(sqlist *l);

int locateelem(sqlist *l, elemtype e);

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

原始檔:

#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;

}

主函式

#include"list.h"

int main()

執行結果:

心得:typedef是使用者自定義結構體,inode是結構體的名字,結構體的成員有int型的資料域和指向結構體inode型別的指標域。

head是乙個頭指標,

(linklist) malloc (sizeof(lnode))是申請乙個inode那麼大的空間,並把這個空間的位址賦給head

第三週實踐專案 建設「順序表」演算法庫

演算法庫包括兩個檔案 標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 原始檔 list.cpp,包含實現各種演算法的函式的定義 list.h ifndef list h included define list h included define maxsize...

第三週專案2 建立「順序表」演算法庫

1 標頭檔案 list.h cpp view plaincopyprint?01.include 02.include 03.04.define maxsize 50 maxsize將用於後面定義儲存空間的大小 05.typedef int elemtype elemtype在不同場合可以根據問題的...

第三週專案2 建立「順序表」演算法庫

問題及 01.04.檔名稱 a.cpp 06.完成日期 2016.9.17 08.標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 09.原始檔 list.cpp,包含實現各種演算法的函式的定義 10.1.list.h的 include02.include03.d...