單鏈表的簡單實現

2021-08-02 09:31:19 字數 1720 閱讀 4508

單鏈表:

鍊錶是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成:元素(資料元素的映象) + 指標(指示後繼元素儲存位置)

標頭檔案.結構的定義和 簡單函式實現的宣告

#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...