有空頭鍊錶

2021-09-30 20:57:54 字數 2138 閱讀 3697

#include #include //節點結構體

struct node

;//頭尾指標定義

struct node *g_phead=null;

struct node *g_pend=null;

//空頭鍊錶初始化

void lianbiaochushi();

//尾新增

void weitianjia(int a);

//頭新增

void toutianjia(int a);

//任意位置新增

void renyitianjia(int index,int a); //在index後新增a

// 查詢指定節點位置,返回位址

struct node *selectnode(int a);

//刪除頭

void shanchutou();

//刪除尾

void shanchuwei();

//刪除中間任意節點

void shanchurenyi(int a);

//釋放鍊錶

//遍歷鍊錶

void bianli();

int main()

//空頭鍊錶初始化

void lianbiaochushi()

//尾新增

void weitianjia(int a)

//鏈結

g_pend->pnext=ptemp;

g_pend=ptemp;

}//頭新增

void toutianjia(int a)

//鏈結

ptemp->pnext=g_phead->pnext;

g_phead->pnext=ptemp;

}//任意位置新增

void renyitianjia(int index,int a)

//找插入位置

struct node *ptemp=selectnode(index);

if(null==ptemp)

//找到了,鏈結

//1.建立節點,把a裝進去

//建立乙個節點

struct node *pt= (struct node *)malloc(sizeof(struct node));

//節點成員賦值

pt->a=a;

pt->pnext=null;

//2.鏈結

if(ptemp==g_pend)//如果插入的位置是尾部,呼叫尾新增

else

} // 查詢指定節點位置,返回位址

struct node *selectnode(int a)

printf("%d\n",ptemp->a);

ptemp=ptemp->pnext;

}return null;

}//遍歷鍊錶

void bianli()

}//刪除頭

void shanchutou()

//1記錄這個點

struct node *ptemp=g_phead->pnext;

//2指向下乙個

g_phead->pnext=g_phead->pnext->pnext;

//3釋放

free(ptemp);

}//刪除尾

void shanchuwei()

if(g_phead==g_pend)

//有多個節點

else

ptemp=ptemp->pnext;

}//1釋放尾巴

free(g_pend);

g_pend=ptemp;

//尾巴下乙個賦值為空

g_pend->pnext=null;

} }void shanchurenyi(int a)

//如果只有乙個節點

if(g_phead->pnext==g_pend)

if(g_phead==ptemp)

else

pt=pt->pnext;

} //先連

pt->pnext=ptemp->pnext;

//後刪除

free(ptemp); }

}

鍊錶 環形鍊錶

環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...

鍊錶 初識鍊錶

鍊錶 前言 小弟初學資料結構,有錯誤的地方望大家不吝賜教 認識鍊錶 列表相比陣列更具有優勢,鍊錶不同於資料和其他資料結構依靠位置來進行訪問或者其他操作,如陣列是依靠下表來運算元據。而鍊錶是通過關係來尋找或者運算元據。鍊錶的特性 插入 和 刪除 效率高,只需要變更指向的鏈結點即可。但是隨即訪問操作的效...

鍊錶(鍊錶建立)

先找到了一些與單鏈表相關的概念 2.指標域 ai元素儲存指向後繼元素儲存位置的資訊 3.結點 包含資料域和指標域 4.單鏈表 每個結點只包含乙個指標域的線性表 5.頭指標 要素 鍊錶中第乙個結點的儲存位置 線性表最後乙個結點指標為空 6.頭結點 非要素 單鏈表第乙個結點前附設乙個結點 其指標域指向第...