第四周專案2 建設「順序表」演算法庫

2021-07-22 23:39:22 字數 3393 閱讀 9291

/*  

* 煙台大學計算機與控制工程學院  

* 完成日期:2023年9月22日  

* 問題及**

* 問題描述:演算法庫包括兩個檔案:標頭檔案:list.h,包含定義順序表資料結構的**、巨集定義、要實現演算法的函式的宣告;原始檔:list.cpp,包含實現各種演算法的函式的定義請採用程式的多檔案組織形式,在專案1的基礎上,建立如上的兩個檔案,另外再建立乙個原始檔,編制main函式,完成相關的測試工作。

***:

#ifndef list_h_included

#define list_h_included

#define maxsize 50

typedef

intelemtype;  

typedef

struct

sqlist;  

void

createlist(sqlist *&l, elemtype a, 

intn);

//用陣列建立線性表

void

initlist(sqlist *&l);

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

void

destroylist(sqlist *&l);

//銷毀線性表destroylist(l)

bool

listempty(sqlist *l);

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

intlistlength(sqlist *l);

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

void

displist(sqlist *l);

//輸出線性表displist(l)

bool

getelem(sqlist *l,

inti,elemtype &e);

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

intlocateelem(sqlist *l, elemtype e);

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

bool

listinsert(sqlist *&l,

inti,elemtype e);

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

bool

listdelete(sqlist *&l,

inti,elemtype &e);

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

#endif

[cpp]view plain

copy

#include 

#include 

#include "list.h"

//用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

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

void

initlist(sqlist *&l)   

//引用型指標

//銷毀線性表destroylist(l)

void

destroylist(sqlist *&l)  

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

bool

listempty(sqlist *l)  

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

intlistlength(sqlist *l)  

//輸出線性表displist(l)

void

displist(sqlist *l)  

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

bool

getelem(sqlist *l,

inti,elemtype &e)  

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

intlocateelem(sqlist *l, elemtype e)  

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

bool

listinsert(sqlist *&l,

inti,elemtype e)  

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

bool

listdelete(sqlist *&l,

inti,elemtype &e)    

[cpp]view plain

copy

#include "list.h"

intmain()  

;  createlist(sq, x, 6);  

displist(sq);  

return

0;  

}  

執行結果:

學習總結:

加深了對專案一的理解,對於較大程式的處理,以及程式的多檔案組織的處理。演算法

庫包括兩

個檔案:

標頭檔案

:lis

t.h,

包含定義

順序表數

據結構的

**、巨集

定義、要

實現演算法

的函式的

宣告;

原始檔:

list

.cpp

,包含實

現各種算

法的函式

的定義請

採用程式

的多檔案

組織形式

,在專案

1的基礎

上,建立

如上的兩

個檔案,

另外再建

立乙個源

檔案,編

制mai

n函式,

完成相關

的測試工

作演算法庫

包括兩個

檔案:

標頭檔案:

list

.h,包

含定義順

序表資料

結構的代

碼、巨集定

義、要實

現演算法的

函式的聲

明;源

檔案:l

ist.

cpp,

包含實現

各種演算法

的函式的

定義請採

用程式的

多檔案組

織形式,

在專案1

的基礎上

,建立如

上的兩個

檔案,另

外再建立

乙個源文

件,編制

main

函式,完

成相關的

測試工作

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

問題 檔名稱 專案2.cbp 作 者 李藝 完成日期 2015年9月25日 版 本 號 v1.0 問題描述 按照 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是單鏈表的演算法庫。演算法庫包括兩個檔案 標頭檔案 linklist.h,包含定義順序表資料結構的 巨...

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

檔名稱 專案2 建設 單鏈表 演算法庫.cpp 作 者 高露 完成日期 2015年9月25日 版 本 號 v1.0 問題描述 按照 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是單鏈表的演算法庫。演算法庫包括兩個檔案 1.標頭檔案 linklist.h,包含定...

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

1.建立演算法庫過程中,為了完成測試,再同一專案 project 中建立乙個原始檔 如main.cpp 編制main函式,完成相關的測試工作。檔名稱 123.cpp 完成日期 2015.9.25 版本號 v1.0 問題描述 採用程式的多檔案組織形式,建立linklist.h,linklist.cpp...