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

2021-08-08 17:43:53 字數 2337 閱讀 1405

/*

煙台大學計算機學院

檔名稱:main.cpp ti.cpp head.cpp

完成日期:2023年9月23日

問題描述:第四周專案二 建設「單鏈表」演算法庫

輸入描述:無

輸出描述:無

*/#include #include #include #include "head.h"

using namespace std;

int main()

#include #include #include "head.h"

void createlistf(linklist *&l,elemtype a,int n)//頭插法建立單鏈表

}void createlistr(linklist *&l,elemtype a,int n)//尾插法建立單鏈表

r->next=null; //終端結點next域置為null

}void initlist(linklist *&l)

void destroylist(linklist *&l)

free(p); //此時q為null,p指向尾結點,釋放它

}bool listempty(linklist *l)

int listlength(linklist *l)

return(i);

}void displist(linklist *l)

printf("\n");

}bool getelem(linklist *l,int i,elemtype &e)

if (p==null) //不存在第i個資料結點

return false;

else //存在第i個資料結點

}int locateelem(linklist *l,elemtype e)

if (p==null)

return(0);

else

return(n);

}bool listinsert(linklist *&l,int i,elemtype e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點*p

}bool listdelete(linklist *&l,int i,elemtype &e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點*p

}

#ifndef list_h_included

#define list_h_included

#define maxsize 50

typedef int elemtype;

typedef struct lnode //定義單鏈表結點型別

linklist;

void createlistf(linklist *&l,elemtype a,int n);//頭插法建立單鏈表

void createlistr(linklist *&l,elemtype a,int n);//尾插法建立單鏈表

void initlist(linklist *&l); //初始化線性表

void destroylist(linklist *&l); //銷毀線性表

bool listempty(linklist *l); //判斷線性表是否為空

int listlength(linklist *l); //求線性表長度

void displist(linklist *l); //輸出線性表

bool getelem(linklist *l,int i,elemtype &e); //求線性表某個資料元素值

int locateelem(linklist *l,elemtype e); //按元素值查詢

bool listinsert(linklist *&l,int i,elemtype e); //插入資料元素

bool listdelete(linklist *&l,int i,elemtype &e); //刪除資料元素

學習總結  : 建立乙個適合自己的演算法庫,讓以後的程式設計更清晰明了。

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

all right reserved.檔名稱 main.cpp 完成日期 2017年9月27日 版本號 v1.0 問題描述 建設單鏈表演算法庫 輸入描述 標準函式輸入 程式輸出 標準函式輸出 演算法庫包括兩個檔案 1.標頭檔案 linklist.h,包含定義順序表資料結構的 巨集定義 要實現演算法的...

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

單鏈表演算法庫演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 linklist.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef linklist h included define linklist h included typedef int elem...

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

原始檔 include include include linklist.h void createlistf linklist l,elemtype a,int n 頭插法建立單鏈表 void createlistr linklist l,elemtype a,int n 尾插法建立單鏈表 r n...