單鏈表各種基本運算的演算法

2021-09-12 14:15:31 字數 1393 閱讀 7754

#include#includetypedef char elemtype;

typedef struct lnode

linknode; //宣告單鏈表節點型別

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

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

r->next = null; //尾結點的next域值為null

}void initlist(linknode *&l) //初始化線性表

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

free(pre); //迴圈結束時p為null,pre指向尾結點,釋放它

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

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

return i; //迴圈結束時,p指向尾結點,其序號n為結點個數

}void displist(linknode *l) //輸出線性表

printf("\n");

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

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

return false;

else //存在第i個結點 }

int locateelem(linknode *l, elemtype e)//按元素查詢

if (p == null) //不存在值為e的結點,返回0

return 0;

else //存在值為e的結點,返回邏輯序號i

return i;

}bool listinsert(linknode *&l, int i, elemtype e)//插入第i個資料元素

if (p == null) //未找到第i-1個結點,返回false

return false;

else //找到第i-1個結點p,插入新結點並返回true }

bool listdelete(linknode *&l, int i, elemtype &e)//刪除第i個元素

if (p == null) //未找到第i-1個結點,返回false

return false;

else //找到第i - 1個結點p }

int main()

有錯請指正!

單鏈表的各種基本運算

輸入 實驗題2 2 include includetypedef char elemtype typedef struct lnode linklist 使用頭插法 void createlistf linklist l,elemtype a,int n 使用尾插法 void createlistr...

實現迴圈單鏈表各種基本運算的演算法

實驗題目 實現迴圈單鏈表各種基本運算的演算法 實驗內容 編寫乙個程式實現迴圈單鏈表的各種基本運算,並在此基礎上設計乙個主程式 完成如下功能 1 初始化迴圈單鏈表h 2 依次採用尾部插入法插入a,b,c,d,e元素 3 輸出迴圈單鏈表h 4 輸出迴圈單鏈表h長度 5 判斷迴圈單鏈表h是否為空 6 輸出...

實驗一 單鏈表的各種基本運算

編寫乙個程式,實現單鏈表的各種基本運算 建立乙個單鏈表,實現單鏈表的初始化,插入 刪除節點等功能,以及確定某一元素在單鏈表中的位置。1 初始化單鏈表 2 依次採用尾插入法插入a,b,c,d,e元素 3 輸出單鏈表l 4 輸出單鏈表l的長度 5 判斷單鏈表l是否為空 6 輸出單鏈表l的第三個元素 7 ...