第四周專案2建立演算法庫

2021-08-08 18:36:49 字數 2970 閱讀 1643

/*  

* 檔名稱:cpp1.  

* 作    者:劉思源  

* 完成日期:2017 年 9 月 26 日  

* 版 本 號:v1.0  

*  * 問題描述:建立單鏈表的演算法庫。 

演算法庫包括兩個檔案: 

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

原始檔:linklist.cpp,包含實現各種演算法的函式的定義請採用程式的多檔案組織形式。 

建立如上的兩個檔案,另外再建立乙個原始檔(如main.cpp),編制main函式,完成相關的測試工作。 

* 輸入描述:無需輸入  

* 程式輸出:建立的鍊錶 */

[cpp]view plain

copy

#include "linklist.h"  

intmain()    

[cpp]view plain

copy

#include 

#include 

#include "linklist.h"  

void

createlistf(linklist *&l,elemtype a,

intn)    

}    

void

createlistr(linklist *&l,elemtype a,

intn)    

r->next=null;    

}    

void

destroylist(linklist *&l)    

free(pre);    

}    

void

displist(linklist *l)    

printf("\n"

);    

}    

void

initlist(linklist *&l)    

bool

listempty(linklist *l)    

intlistlength(linklist *l)    

return

(n);    

}    

bool

getelem(linklist *l,

inti,elemtype &e)    

if(p==null)    

return

false

;    

else

}    

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

intlocateelem(linklist *l, elemtype e)    

if(p==null)    

return

(0);    

else

return

(i);    

}    

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

bool

listinsert(linklist *&l,

inti,elemtype e)    

if(p==null)    

return

false

;    

else

}    

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

bool

listdelete(linklist *&l,

inti,elemtype &e)    

if(p==null)    

return

false

;    

else

}    

[cpp]view plain

copy

#ifndef linklist_h_included

#define linklist_h_included

typedef

intelemtype;  

typedef

struct

lnode        

//定義單鏈表結點型別

linklist;  

void

createlistf(linklist *&l,elemtype a,

intn);

//頭插法建立單鏈表

void

createlistr(linklist *&l,elemtype a,

intn);

//尾插法建立單鏈表

void

initlist(linklist *&l);  

//初始化線性表

void

destroylist(linklist *&l);  

//銷毀線性表

bool

listempty(linklist *l);  

//判斷線性表是否為空

intlistlength(linklist *l);  

//求線性表長度

void

displist(linklist *l);  

//輸出線性表

bool

getelem(linklist *l,

inti,elemtype &e);  

//求線性表某個資料元素值

intlocateelem(linklist *l,elemtype e);  

//按元素值查詢

bool

listinsert(linklist *&l,

inti,elemtype e);  

//插入資料元素

bool

listdelete(linklist *&l,

inti,elemtype &e);  

//刪除資料元素

#endif // linklist_h_included

第四周專案2 建立鏈隊演算法庫

標頭檔案liqueue.h ifndef liqueue h included define liqueue h included typedef char elemtype typedef struct qnode qnode 鏈隊資料結點型別定義 typedef struct liqueue 鏈...

第四周 專案2 建立「單鏈表」演算法庫

1.標頭檔案 linklist.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 typedef int elemtype typedef struct lnode 定義單鏈表結點型別 linklist void createlistf linklist l,elemtype a,i...

第四周專案2 建立單鏈表演算法庫

linklist.h include include typedef int elemtype typedef struct lnode 定義單鏈表結點型別 linklist void createlistf linklist l,elemtype a,int n 頭插法建立單鏈表 void cre...