dblinklist.h
#ifndef dblinklist_h_included
#define dblinklist_h_included
#include #include #include typedef int datatype;
int length;
typedef struct node
dblinklist;
dblinklist *initdblinklist(dblinklist *l,int n); //初始化乙個雙鏈表
int insertdblinklist(dblinklist *l,int i,datatype x); //向鍊錶插入乙個數
int deletedblinklist(dblinklist *l,int i); //刪除乙個節點
int finddblinklist(dblinklist *l,datatype x); //查詢元素的位置
int updatedblinklist(dblinklist *l,int i,datatype x); //更新元素
void printdblinklist(dblinklist *l); //輸出全部元素
#endif // dblinklist_h_included
dblinklist.c
#include "dblinklist.h"
/**********************************
* 函式名:initdblinklist()
* 引數:dblinklist *l,int n
* 功能:初始化雙鏈表
* 返回值:dblinklist型
***********************************/
dblinklist *initdblinklist(dblinklist *l,int n)
r->next = null;
return l;
}/**********************************
* 函式名:insertdblinklist()
* 引數:dblinklist *l,int i,datatype x
* 功能:向鍊錶中插入乙個元素
* 返回值:int型
***********************************/
int insertdblinklist(dblinklist *l,int i,datatype x)
if (p == null)
else }
/**********************************
* 函式名:deletedblinklist()
* 引數:dblinklist *l,int i
* 功能:從鍊錶中刪除乙個元素
* 返回值:int型
***********************************/
int deletedblinklist(dblinklist *l,int i)
if (p == null || p->next == null)
else }
/**********************************
* 函式名:finddblinklist()
* 引數:dblinklist *l,datatype x
* 功能:在鍊錶中查詢乙個元素
* 返回值:int型
***********************************/
int finddblinklist(dblinklist *l,datatype x)
p = p->next;
count++;
} printf("在順序表中沒有找到值為%d的元素.\n", x);
return 0;
}/**********************************
* 函式名:updatedblinklist()
* 引數:dblinklist *l,int i,datatype x
* 功能:在鍊錶中修改乙個元素
* 返回值:int型
***********************************/
int updatedblinklist(dblinklist *l,int i,datatype x)
if(p->next==null)
else
}/**********************************
* 函式名:printdblinklist()
* 引數:dblinklist *l
* 功能:輸出鍊錶的全部元素
* 返回值:無
***********************************/
void printdblinklist(dblinklist *l)
printf("\n");
}
main.c
#include "dblinklist.h"
int main()
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
default:break;}}
return 0;
}
C語言 雙鏈表
還是 程式設計師面試寶典 上的 include include typedef struct student dnode 建立雙鏈表 dnode create else cycle 0 p next null p head head head next head pre null free p 釋放...
雙鏈表 C語言
雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。簡單圖示 這次寫的雙鏈表的頭結點是不儲存資料的,所有資料都是存於頭結點的下乙個結點,即所有判斷都以頭結點的下乙個結點為準。資料簡介typedef struct dnode link 函式簡介link cre...
演算法學習記錄 雙鏈表
單鏈表缺點是每次都要從頭開始索引,不能往回索引,很自然就會想乙個辦法,希望能夠往回索引。這有雙鏈表就產生了。0.雙鏈表結構 typedef struct lnodeltnode,ptnode 增加了乙個前驅指標,這有就可以向回索引了。1.雙鏈表的初始化 1.雙向鍊錶的init void dlist ...