/*
檔名稱:專案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...