Java資料結構之手寫LinkedList

2021-08-10 14:07:00 字數 1086 閱讀 9238

linkedlist的實現本質為乙個雙向鍊錶,下面是簡單的實現增刪改查:

public

class linkedlist

public

void

add(e e)

public

void

change(int index,e e)

nodetarget=node(index);

target.item=e;

}/**

* 刪除指定的節點

* @param index

*/public

void

remove(int index)

//找到節點

nodetarget=node(index);

unlinklist(target);

}public

void

unlinklist(nodetarget)else

if (next==null)else

size--;

}/**

*新增節點到指定的位置

* @param index 位置索引

* @param e

*/public

void

add(int index,e e)elseelseelse

target.prev=node;

size++;}}

}/**

* 根據索引獲取值

* @param index i

* @return

*/public e get(int index)

return node(index).item;

}private nodenode(int index)else

return node;}}

/*** 向鍊錶新增乙個節點 到尾部

* @param e

*/private

void

linklast(e e)else

size++;

}private

static

class node

}}

java資料結構之手動實現單鏈表

package com.example.demo 1 定義要儲存物件的類 class phone public phone string brand,double price public void setbrand string brand public void setprice double ...

資料結構 手寫hashmap

define size 100 位址鏈個數,足夠大 class simhash public simhash simhash delete map 清除陣列 void insert int key,int value node p map hash key 確定位址鏈索引 node q new no...

Java資料結構

arraylist 基於 array,在記憶體中占有連續空間,所以get index 時候,根據陣列首位址 偏移量就可以取到值 linklist 基於link,在記憶體中不連續,每個元素只知道下乙個元素,所以get時候,只能從首元素開始乙個乙個去找,效率相對較慢 增加刪除 arraylist 需要變...