單鏈表:
鍊錶是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成:元素(資料元素的映象) + 指標(指示後繼元素儲存位置)
標頭檔案.結構的定義和 簡單函式實現的宣告
#pragma once
#include #include #include typedef int datatype;
typedef struct listnode
listnode;
listnode* buynode(datatype x);
void printlist(listnode *plist);
void pushback(listnode **pplist, datatype x);
void popback(listnode **pplist);
void pushfront(listnode **pplist, datatype x);
void popfront(listnode **pplist);
listnode *find(listnode *plist, datatype x);
//在pos前插入乙個節點x
void insert(listnode **pplist,listnode *pos, datatype x);
void erase(listnode **pplist,listnode *pos); //刪除pos
函式實現
#include "list.h"
listnode* buynode(datatype x) //開闢乙個新的節點
void printlist(listnode *plist) //列印鍊錶
printf("null\n");
}void pushback(listnode **pplist, datatype x) //在鍊錶最後壓入乙個節點
else if((*pplist)->next == null)
else
cur->next = buynode(x); }}
void popback(listnode **pplist) //彈出鍊錶最後乙個節點
else
free(prel->next);
prel->next = null;
}}void pushfront(listnode **pplist, datatype x) //鍊錶最前壓入乙個節點
else }
void popfront(listnode **pplist) //彈出鍊錶第乙個節點
else }
listnode *find(listnode *plist, datatype x) //找到x對應的節點並返回其位址
printf("沒找到x\n");
return null;
}void insert(listnode **pplist,listnode *pos, datatype x) //在pos前插入乙個節點x
else
cur = cur->next;
} }}void erase(listnode **pplist,listnode *pos) //刪除pos
else
cur->next = pos->next;
free(pos);
pos = null;
}}
單鏈表簡單實現
單鏈表的形式 頭部有個head節點每個節點都向後關聯乙個節點 下面是我的單鏈表的插刪改查和反轉的操作 include include include typedef struct node list define node size sizeof struct node typedef struct...
單鏈表的簡單實現
include include include define max list length 20 define expand list length 5 using namespace std include include typedef struct node node,list 初始化乙個l...
單鏈表的簡單實現
關於單鏈表的操作中,關係到頭節點建立和更改的要用二級指標或者一級指標引用,其他的可用一級指標 pragma once include includeusing namespace std typedef struct listnode node void printlist node head no...