3 4鍊錶 鍊錶中元素的獲取 查詢和修改

2022-05-01 18:45:10 字數 1674 閱讀 9383

本節是在上一小節的基礎上繼續完善我們的鍊錶相關方法的編寫,在本節中我們著重對如何獲取鍊錶中元素、查詢元素以及修改元素進行學習。

//

獲取鍊錶的第index(0-based)個位置的元素 (實際不常用,練習用)

public e get(int

index)

node

cur = dummyhead.next;

for (int i = 0; i < index; i++)

return

cur.e;

}

對於該方法則是依靠在get()方法的。

//

獲得鍊錶的第乙個元素

public

e getfirst()

對於該方法頁是依靠在get()方法的。

//

獲得鍊錶的最後乙個元素

public

e getlast()

//

修改鍊錶的第index(0-based)個位置的元素 (實際不常用,練習用)

public

void set(int

index, e e)

node

cur = dummyhead.next;

for (int i = 0; i < index; i++)

cur.e =e;

}

由於我們使用了虛擬頭結點,而我們每次都需要從第乙個真實節點開始,因此需要首先得到虛擬頭結點的下乙個節點是誰,然後判斷給定的元素值與鍊錶中的元素值內容是否相等(equals()方法),若相等則返回true,否則返回false。

//

查詢鍊錶中是否有元素e

public

boolean

contains(e e)

cur =cur.next;

}return

false

; }

為了在輸出該鍊錶物件時可以檢視相關自定義的資訊,我們對tostring()進行重寫改造。

//

重寫object類,便於測試

@override

public

string tostring()

return

res.tostring();

}

此時該方法等同於

//

重寫object類,便於測試

@override

public

string tostring()

return

res.tostring();

}

package

linkedlist;

public

class

testmain

system.out.println("**********==修改鍊錶**********==");

linkedlist.set(2,666);

system.out.println(linkedlist);}}

結果為:

結果分析:由於是在鍊錶頭部新增元素,故最終顯示結果為從右到左,最右為null(也就是最後乙個節點)。

關於本小節,若您覺得還行、還過得去,麻煩給個推薦吧,謝謝!!

12 9 2獲取鍊錶元素個數

鍊錶中往往會儲存大量的資料內容,同時鍊錶的本質有相當於乙個陣列,那麼為了可以準確的獲取資料的個數,就需要在鍊錶中進行資料的統計操作。1 ilink 在介面中定義乙個size 方法用於返回資料儲存的個數 獲取鍊錶中集合元素的儲存個數 return 元素個數 public int size 2 link...

鍊錶定義 鍊錶的插入 鍊錶的刪除 鍊錶的查詢

鍊錶的定義 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指標 變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為 結點 每個結點都應包括兩個部分 一為使用者需要用的實際資料,二為下乙個結點的位址。因此,he...

鍊錶 獲取鍊錶的倒數第k個元素

思路1 暴力 先暴力一次鍊錶,記錄鍊錶的長度n,第二次遍歷n k 1個元素,返回,一共需要2n 1 k個 思路2 兩個指標,左右指標相差k 1個距離,有指標到達鍊錶末尾時,做指標指向倒數第k個元素.經典思路,兩個指標相差k個間隔 思路2實現 public static node getfindnfr...