C 單鏈表增 刪 插 改 查(基礎版)

2021-10-06 12:38:23 字數 2466 閱讀 8982

//資料域

struct data

;//結點

struct node

;//管理結點的類

class

nodemanager

;//這裡是我嫌棄一堆堆的**出現在main函式裡加的

void

add(nodemanager* manager)

;void

remove

(nodemanager* manager)

;void

insert

(nodemanager* manager)

;void

update

(nodemanager* manager)

;#endif

2.list.cpp

#include

#include

#include

"list.h"

nodemanager::

nodemanager()

void nodemanager::

addnode

(node *newnode)

++length;

}//為了提供方便(雖然現在只有刪除用到了下標,但是以防萬一,這是用來找對應的名字的物件的下標的)

int nodemanager::

findindex

(const

char

*_name)

}//temp==null

std::cout <<

"this guy's not on the list!\n"

;return-1

;//因為前面有可能index=0,所以這裡得是負數了

}void nodemanager::

removenode

(const

char

*_name)}/*

注意這裡,如果要刪除的資料是最後乙個的話,就不能用下面那種:

temp->next->next,這裡會造成指標越界,因為next->next已經是null了

*/if(s_index==length)

else

//不是最後乙個資料執行這裡}}

//找物件,這裡下面兩個都用到了相同功能的**,方便!

node* nodemanager::

findnode

(const

char

*_name)

//temp==null

std::cout <<

"this guy's not on the list!\n"

;return temp;

}void nodemanager::

insertnode

(const

char

*_name, node *newnode)

}void nodemanager::

updatenode

(const

char

*oldname,

char

*newname,

double acc)

}void nodemanager::

shownode()

const

using std::cout;

node *temp = headnode.next;

for(

int i=

0; i

)}

3.menu.cpp

//這一整個cpp檔案就是因為我嫌擠在一起醜弄的

#include

#include

"list.h"

using std::cout;

using std::cin;

void

add(nodemanager* manager)

void

remove

(nodemanager* manager)

void

update

(nodemanager* manager)

4.main.cpp

#include

#include

"list.h"

intmain()

system

("cls");

switch

(input)

}}

有什麼問題歡迎來提問鴨~

也歡迎各位大佬們前來指正!

單鏈表的增刪查改

include includetypedef struct nodenode,linklist int num 查詢給定值的結點,返回結點指標 node findvalue char c,node head return head 查詢給定位置的結點的值 char findindex value n...

單鏈表的增刪查改

本篇部落格主要介紹c資料結構中的單鏈表有關的增刪查改操作,並且介紹列表的快慢指標,鍊錶的逆置和合併等用法,廢話不說直接上 pragma once include include include typedef int datetype typedef struct plistnode plistno...

單鏈表的增刪查改

鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。每個結點包括兩個部分 資料域和指標域 特點 1 可以方便的進行擴充。2 可以方便的刪除和插入。例子如下 include i...