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

2021-08-08 13:52:15 字數 2463 閱讀 3153

問題及**

main.cpp

/*

*all right reserved.

*檔名:main.cpp list.h list.cpp

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

*版本號:v1.0

**問題描述:單鏈表演算法庫

*輸入描述:無

*程式輸出:見視窗

*/#include #include #include "linklist.h"

int main()

linklist.cpp

#include #include #include "linklist.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

}

linklist.h

#ifndef linklist_h_included

#define linklist_h_included

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); //刪除資料元素

#endif // linklist_h_included

執行結果

知識點總結

單鏈表的建立,遍歷,頭插法,尾插法,在指定位置插入,刪除整個單鏈表,刪除某個節點,查詢。一些對單鏈表的基礎操作編寫了乙個演算法庫,便於呼叫。

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

問題及 all right reserved.檔名稱 雙鏈表演算法庫.cpp 完成日期 2016年9月22日 版本號 v1.0 問題描述 用多檔案函式建立雙鏈表演算法庫 輸入描述 根據主函式而定,這裡是插入數字與計數 程式輸出 數字長度和插入數字後的數字排列 include include incl...

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

檔名稱 danlianbiao.cpp 完成日期 2015年10月12日 版本號 vc 6.0 問題描述 單鏈表 輸入描述 無 程式輸出 兩種方式建立後的結果 include include typedef int elemtype typedef struct lnode 定義單鏈表結點型別 li...

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

煙台大學計算機學院 檔名稱 main.cpp ti.cpp head.cpp 完成日期 2017年9月23日 問題描述 第四周專案二 建設 單鏈表 演算法庫 輸入描述 無 輸出描述 無 include include include include head.h using namespace st...