#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。...