C語言單向鍊錶的操作 持續更新中

2021-06-27 07:58:53 字數 2040 閱讀 3931

struct node;
建立鍊錶——頭插

struct node* createheadlist()  

return head; //返回頭指標

}

建立鍊錶——尾插

struct node* createtaillist()  //尾插法

new->data = i; //資料域賦值

new->next = null; //指標域指向空

tail->next = new; //在此之前,tail還在上乙個節點上,這裡是將tail的指標域指向new

tail = new; //tail的首位址賦值給new

}return head; //返回頭指標

}

在頭部插入元素:

struct node* insertintolistonhead(struct node* head, int data)

在尾部插入元素:

struct node* insertintolistontail(struct node* head, int data)

tail->next = new;//將最後乙個節點指向新增加的節點

tail = new; //偏移tail指標

new->data = data;//資料域賦值

new->next = null;//指標域指向null,因為這是鍊錶的最後乙個元素,它的next域要指向空

return head;

}

插入元素(不是頭或者尾)

struct node* insertintolist(struct node* head, int data, int index)     //比如要在資料域為2的後面插入,那麼index就是2

new->data = data; //資料域賦值

new->next = tail->next; //新節點的指標域指向要插入節點的下個節點

tail->next = new; //tail的指標域指向新節點

return head;

}

刪除某一元素:

struct node* deletefromlist(struct node* head, int data)          //data是要刪除的資料

tail->next = tail->next->next; //tail的指標域直接指向要刪除節點的下乙個節點

//tail->next = null; //如果tail->next = null的話,那麼data節點的後面所有節點就都刪除了

return head;

}

倒序鍊錶:

struct node* reservelist(struct node* head)

return prev;

}

中間的四個操作引用的兩幅:

圖1

圖2 由圖1到圖2,經歷了四個步驟:

head->next = prev;

prev = head;

head = next;

next = head->next;

遍歷鍊錶:

int main()

return 0;

}

C語言 單向鍊錶的基本操作

define crt secure no warnings include include include typedef struct node node 建立頭節點和鍊錶 鍊錶的頭結點位址由函式值返回 node slistcreat return head 鍊錶的遍歷 int slistprin...

C語言 單向鍊錶

1.c語言單向鍊錶 2.鍊錶的 增,刪,查,遍歷 author mr.long date 2015 12 1 15 24 26 include include 結構定義 struct node 函式定義 void printnode struct node head struct node addf...

C語言 單向鍊錶

1 單向鍊錶的定義 struct student next作為同型別指標,指向與它所在節點一樣的節點。1 建立鍊錶 int main 定義建立函式create,建立乙個有n個節點的單向鍊錶 struct student create int n ptail next null return head...