C語言實現單鏈表

2021-07-31 04:21:54 字數 2302 閱讀 9032

#ifndef __list_h__

#define __list_h__

#include

#include

#include

typedef int datatype;

typedef struct node//建立鍊錶節點模型

node,*pnode,*plist;

void initlist(plist *pplist);

pnode buynode(datatype data);

void pushback(plist *pplist,datatype data);

void pushfront(plist *pplist, datatype data);

void print(plist plist);

void destroylist(plist* pplist);

void popback(plist* pplist,datatype data);

void popfront(plist* pplist,datatype data);

datatypefind(plist* pplist, datatype data);

void remove(plist*pplist, datatype data);

void removeall(plist* pplist, datatype data);

void insert(plist* pplist,pnode pos,datatype data);

void erase(plist*pplist,pnode pos, datatype data);

#endif

//__list_h__

#define _crt_secure_no_warnings 1

#include"list.h"

void test()

int main()

#define _crt_secure_no_warnings 1

#include

"list.h"

void initlist(plist *pplist)

pnode buynode(datatype data)

else

}void pushback(plist *pplist, datatype data)//尾插

else

cur->next = pnewnode;

}}void print(plist plist)

else

printf("null");

}}void pushfront(plist *pplist, datatype data)//頭插

else

}void destroylist(plist* pplist)//銷毀鍊錶

*pplist =

null;

}void popback(plist* pplist, datatype data)//尾刪

else

if (cur->next ==

null)

else

free(cur->next->next);

cur->next =

null;

}}void popfront(plist* pplist, datatype data)//頭刪

else

if (cur->next ==

null)

else

}datatype find(plist* pplist, datatype data)//查詢指定元素

else

if (cur->next==

null)

else

}else

else

}printf("查詢元素不存在\n");

return-1;

}}void insert(plist* pplist, datatype data)

void remove(plist*pplist, datatype data)//刪除指定元素

else

if (cur->next ==

null)

else

}else

//>=2節點

else

//刪除的不是第乙個節點,利用prev始終儲存當前cur的前乙個節點,在釋放當前節點之前讓當前節點的前乙個節點的指標指向當前節點的後乙個節點即cur->next,然後再釋放當前節點cur,

}else}}

}

c語言實現單鏈表

一 使用簡介 使用c語言實現了單鏈表的基本操作,共有四個檔案,兩個標頭檔案是常用的,後兩個分別是主函式,和對鍊錶的基本操作函式,倒入時候,須將四個檔案放在同乙個目錄下。二 心得 在書寫過程中,主要錯誤集中在指標的使用上,通過此次程式設計,對於指標的認識更加深刻,頭結點的存在,更大意義上是為了簡化指標...

C語言實現單鏈表

單鏈表可以說是基礎,有利於對指標的使用 結點 typedef int datatype typedef struct slistnode slistnode 實現的函式的宣告如下 slistnode buynode datatype x void printslist slistnode phead...

C語言實現單鏈表

dev c 編譯執行通過,實現了單鏈表的構建,清空,插入,刪除和查詢。include include include include include define ok 1 define error 0 typedef int elemtype typedef struct node node ty...