帶頭節點的鍊錶

2021-06-28 12:21:36 字數 2047 閱讀 9978

#include#include#includetypedef int type;

typedef struct node

node;

//建立乙個頭節點並將其指標返回

node *node_init()

//列印乙個鍊錶

void node_display(node*head)

else

printf("\n");

}}//找到第n個節點並返回其指標,若n==0則返回頭節點指標

node* node_find(node*head,int n)

else if(n==0)

while(p&&inext;

i++;

}if(!p)printf("not\n");

return p;

}//在pos個節點的位置插入乙個值為num的節點

void node_insert(node*head,int pos,type num)

else

}//刪除第pos個節點

void node_dele(node*head,int pos)

else

}//刪除整個鍊錶並釋放記憶體

void node_destory(node*head)

}

//返回第i個節點的值

type node_get(node*head,int i)

return p->info;

}//返回值為x的節點的位置是第幾個節點

int node_get(node*head,type x)

if(p)return i;

else return -1;

}//返回值為x的節點的指標

node*node_find(node*head,type x)

if(p)

else

}//把p2鍊錶連線的p1後面

void node_cat(node*p1,node*p2)

p->next=p2->next;

free(p2);

}//把p2鍊錶插入到p1節點的第n個節點的位置

void node_insert(node*p1,int n,node*p2)

else

p->next=pre->next;

pre->next=p2->next;

free(p2);

}}//刪除p1,節點的從begin開始的n個節點

void node_del(node*p1,int begin,int n)

//返回節點的和

int node_sum(node*head)

return sum;

}//建立鍊錶,當輸入的值為負數結束

void node_create(node*head)

else

}}//計算鍊錶節點數

int node_count(node*head)

return i;

}//在值為y的節點前面插入x

void node_insert_xy(node *head,type x,type y)

if(pre&&pre->info==y)

else printf("error\n");

}//倒置鍊錶

void node_reverse(node*head)

head->next=pre;

}//將鍊錶的偶數部分保留,奇數部分賦給另外乙個鍊錶,並返回其頭指標

node *node_divide(node*head1)

else

p=pre;

pre=pre->next;

}p2->next=null;

p->next=null;

return head2;

}//刪除鍊錶中大約x不大於y的節點

void node_dele_xtoy(node*head,int x,int y)

else p=p->next;

pre=pmid;

}}

帶頭節點鍊錶總結

帶頭節點鍊錶的建立 初始化乙個頭結點 包含指向下乙個節點的point next 執行初始化前判斷這個鍊錶是否有效 if null head 主要部分 新增節點分兩種情況 新增的是第乙個節點,直接讓頭結點指向現節點即可 需在鍊錶末尾新增節點,這時tail的作用就顯現出來,tail是上次錄入節點後的末尾...

不帶頭節點鍊錶

在本人之前的博文 帶頭節點的鍊錶 宿舍管理系統 中,本人介紹了鍊錶的基本知識點。那麼,在本人資料結構與演算法的專欄的開始,本人就來介紹下不帶頭節點鍊錶 由於本人在講解帶頭節點鍊錶的時候就已經講解過了鍊錶基本的增 刪 改 查 操作,所以,本人在這裡就不對這些重複的知識點進行講解了。本人在本篇博文中主要...

帶頭節點鍊錶的遞迴演算法

include using namespace std typedef class student linklist,link void init link linklist l void input link linklist l,int e 尾插法建立鍊錶 void delete link li...