資料結構 模擬單向鍊錶

2021-10-09 22:36:43 字數 1668 閱讀 4699

今天介紹手動模擬單向鍊錶。個人理解的鍊錶的結構類似於 拆盒子遊戲,表面上看儲存是乙個鏈條結構,實際儲存是重複包裝的方式,我們需要實現的刪除,插入,更新 只是在層層盒子中間去掉盒子,增加盒子,該盒子的方式

首先是基本的儲存結構

單向鍊錶的儲存結構如下,單向鍊錶為當前的 物件中有乙個當前物件的屬性。可以理解為 當前的盒子裡面不僅可以裝東西,還可以裝其他盒子

case

class heronode(hno:

int,hname:

string

,hnickname:

string

)

其次操作**

操作**的方式有點類似於遞迴,這裡使用的是while迴圈的方式,所有操作的基礎基本都是查詢

package com.xipenhui.cn

object singlelinklistdemo

}/**

* 1.刪除節點 先查詢再刪除

* 2.修改節點

* 3.新增節點 新增到尾部

* 4.新增節點到指定位置,根據排名新增到指定位置

* */

class singlelinklist

if(temp.next ==

null

)else

}// 在單向鍊錶尾部新增乙個元素

def addnodetotail(hero: heronode)

while

(temp.next !=

null

) temp.next = hero

}//顯示鍊錶

def showlinkedlist():

unit

=var count =

0while

(temp.next !=

null

) 個元素是$"

) count +=

1 temp = temp.next

}}//修改單節點的值,不修改編號

def updata(hero: heronode)

:unit

=var flag =

true

while

(temp.next !=

null

&& flag)

else}if

(temp.next ==

null)}

//新增單幾點到指定的位置 按照num的公升序排列

def addnode2pos(hero: heronode)

:unit

=var flag =

true

while

(temp.next !=

null

&& flag)

else

if(temp.next.no < hero.no)

else

}//新增的元素比煉表裡其他元素編號都大,直接新增到尾部

if(temp.next ==

null)}

}case

class heronode(hno:

int, hname:

string

, hnickname:

string

)

資料結構 單向鍊錶

鍊錶結構的資料格式儲存 include stdafx.h 把這行放在最開始。include includeusing namespace std typedef struct data typedef struct node 這裡與上面的不同是多了node,注意如果沒有這個node,下面的struc...

資料結構(單向鍊錶)

ifndef linklist h define linklist h 鍊錶節點 template class linklistdata linklistdata linklistdata 獲取資料 t getdata public t data 資料 template class linklist...

資料結構 單向鍊錶

錯誤 h next null 或其他 讓指標指向空 的語句執行報錯 null undeclared identifier cannot convert from int to struct node 原因 未引入標頭檔案 include stdio.h 把null定義為乙個空位址是在 stdio標頭...