單鏈表 複製即可執行,有注釋,一目了然

2021-10-23 18:23:56 字數 1879 閱讀 7985

package com.atguigu.linkedlist;

public

class

singlelinkedlistdemo

}//定義singlelinkedlist管理英雄

class

singlelinkedlist

//如果沒有找到,就後移一位,繼續遍歷

temp = temp.next;

}//當退出while迴圈時,temp就指向了鍊錶的最後

//將最後這個節點的next 指向 新的節點

temp.next = heronode;

}//第二種方式在新增英雄時,根據排名將英雄插入到指定位置

//如果有這個排名,則新增失敗,並給出提示

public

void

addbyorder

(heronode heronode)

if(temp.next.no > heronode.no)

else

if(temp.next.no == heronode.no)

temp = temp.next;

//後移

}//判斷flag的值

if(flag)

else

}//修改節點的資訊,根據no編號來修改,即no編號不能改

//1.根據newheronode 的 no來修改即可

public

void

update

(heronode newheronode)

//找到需要修改的節點,根據no編號

//定義乙個輔助變數

heronode temp = head.next;

boolean flag =

false

;//表示是否找到該節點

while

(true)if

(temp.no == newheronode.no)

temp = temp.next;

}//根據flag判斷是否找到要修改的節點

if(flag)

else

}//刪除節點

不能動,需要乙個temp輔助節點,找到待刪除節點的前乙個節點

//2.說明在比較時,是temp.next.no和需要刪除的節點no比較

public

void

delete

(int no)

heronode temp = head.next;

boolean flag =

false

;//表示是否找到該節點

while

(true)if

(temp.next.no == no)

temp = temp.next;}if

(flag)

else

}//顯示鍊錶(遍歷)

public

void

list()

//因為頭結點不能動,因此需要乙個輔助變數來遍歷

//上面已經判斷了是否為空,如果head.next不為空,說明至少有乙個

heronode temp = head.next;

while

(true

)//輸出節點資訊

system.out.

println

(temp)

;//將temp後移,迴圈

temp = temp.next;}}

}//定義heronode ,每個heronode物件就是乙個節點

class

heronode

//重寫tostring方法

@override

public string tostring()

}

C語言 單鏈表的實現(簡單,有注釋)

每乙個注釋均為除錯語句 實現了鍊錶相關的操作 如有問題,請指出,謝謝!include include typedef struct nodelnode,linklist intinit 採用頭插法建立鍊錶,如果使用頭插法建立鍊錶,那麼輸出與輸入是倒序的 lnode creat else return...

判斷乙個單鏈表是否有環

一 判斷鍊錶是否存在環 設定兩個指標 fast,slow 初始值都指向頭,slow每次前進一步,fast每次前進二步,如果鍊錶存在環,則fast必定先進入 環,而slow後進入環,兩個指標必定相遇。當然,fast先行頭到尾部為null,則為無環鏈表 程式如下 bool i itsloop listn...

判斷一條單鏈表是否有環

這道題作為考察程式設計師的基本資料結構 鍊錶的操作和演算法是一道不錯的題,也是一道經常面試到的一道題,我從網上查了一下,這裡只寫一下演算法思想,實現由讀者自己去實踐下,下面轉入正題 已知頭結點,判斷一條單鏈表是否有環可用三種方法,演算法思想如下 1.追趕法。設兩個指標,乙個快指標 步長為2 乙個慢指...