單鏈表之基礎操作

2021-08-26 20:45:52 字數 1535 閱讀 1785

#ifndef  __linklist_h__

#define __linklist_h__

#include

#include

#include

typedef int datatype;

typedef struct listnode

node,*pnode,list,*plist;

void initlinklist(plist* pplist);//初始化

plist buynode(datatype d);

void pushback(plist* pplist,datatype d);//尾插

void printlinklist(plist plist);//列印鍊錶

void destroylinklist(plist* pplist); //銷毀

void popback(plist* pplist); //尾刪

void pushfront(plist* pplist, datatype d); //頭插

void popfront(plist* pplist); //頭刪

pnode find(plist plist, datatype d);//查詢

#include

"linklist.h"

void initlinklist(plist* pplist)//初始化鍊錶

plist buynode(datatype d)

p->

data

=d; //開闢成功

p->next=

null;

return p;

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

else

cul->next=buynode(d);

}}void printlinklist(plist plist)//列印

while(p) //迴圈列印

printf("over\n");

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

*pplist=

null;

}void popback(plist* pplist)//尾刪

if((*pplist)->next==

null)//只有乙個節點

else

//不止乙個

free(cul->next);

cul->next=

null;

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

else

}void popfront(plist* pplist)//頭刪

else

}pnode find(plist plist, datatype d)//查詢

if(cul !=

null)

return

null;

}

單鏈表的基礎操作

單鏈表的基礎操作 包括 查詢 插入 刪除 建立鍊錶等。以下直接用程式進行說明 include malloc free 標頭檔案 include 節點定義 typedef struct node node 查詢第乙個值為x的節點 node serach node phead,int x 在p節點之後進...

c 單鏈表基礎操作

最近開始刷leetcode,感覺自己的基礎太差,基本的鍊錶部分的問題都得想很久,今天花了乙個晚上的時間將鍊錶的基礎操作都實現了一遍,記錄一下自己的收穫 最大的是收穫的一句話 鍊錶的操作使用替身 替身其實就是類似指標的東西,但是我之前一直沒有想到這一點,導致思路堵塞 舉個例子 我要操作first,如遍...

單鏈表操作之替換

在單鏈表結構中的替換也利用了遍歷模式。這種情況下,我們在鍊錶結構中搜尋乙個給定項或乙個給定位置,並且用新的項替換該項。第乙個操作,即替換乙個給定的項,並不需要假定目標項在鍊錶結構中。如果目標項不存在,那就不會發生替換,並且該操作返回false。如果目標項存在,新的項會替換它,並且該操作返回true。...