單鏈表的簡單實現

2021-07-27 22:01:55 字數 1459 閱讀 7101

#include 

#include

#include

#define max_list_length 20

#define expand_list_length 5

using namespace std;

#include

#include

typedef struct node node, *list; ///初始化乙個list list init(node *list) list->value = 0; list tmplist = list; for (int i = 1;i<=max_list_length; ++i) return list; } ///輸出列表所有元素 void ergodic(node *list) node * tmplist = list; while(list != null) printf("\n"); } ///銷毀乙個鍊錶 list destory(node* list) int length = 0; node *tmplist; while(list != null) printf("\nlist length is :%d",length); return list; } ///刪掉某個位置的元素,對於特殊位置0要特殊處理 list deleteonelem(node* list, int i) list tmp = tmplist->next; if(i ==0) else if(!(tmplist->next) ) return list; printf("%d\n",tmp->value); free(tmp); return list; } ///get one position value node* getonepos(node *list, int i) while(list != null && --i >-1) return list; } ///新增乙個元素 node* addoneelem( node* list, int i ,int value) list tmplist = list; while(tmplist!= null && --i >0) if(tmplist == null || i > 0) tmp->next = tmplist->next == null ? null : tmplist->next->next; tmplist->next = tmp; return list; } ///修改某個地方的值 node* updateoneelem(node* list, int i, int value) list tmplist = list; while(tmplist != null && --i >-1) if(tmplist == null || i > -1) tmplist->value = value; return list; } ///逆序單鏈表 node* revertlist(node* list) node* tmp=list->next,*now ; while(tmp->next ) return list; } int main()

單鏈表簡單實現

單鏈表的形式 頭部有個head節點每個節點都向後關聯乙個節點 下面是我的單鏈表的插刪改查和反轉的操作 include include include typedef struct node list define node size sizeof struct node typedef struct...

單鏈表的簡單實現

單鏈表 鍊錶是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 標頭檔案.結構的定義和 簡單函式實現的宣告 pragma once include include include t...

單鏈表的簡單實現

關於單鏈表的操作中,關係到頭節點建立和更改的要用二級指標或者一級指標引用,其他的可用一級指標 pragma once include includeusing namespace std typedef struct listnode node void printlist node head no...