實現雙向鍊錶

2022-06-17 18:06:11 字數 1518 閱讀 6048

雙向鍊錶和單向鍊錶相比更加靈活,它的每乙個元素除了本身的值以為擁有兩個指標,分別指向上乙個和下乙個節點。維護成本上要高於單向鍊錶。鍊錶的大部分操作依賴於遍歷,這一方面雙向鍊錶會效率會好一些,可以根據查詢下標的位置從而選擇從煉表頭開始遍歷還是從鍊錶尾開始遍歷。

}//返回元素個數

public

intsize()

//遍歷鍊錶

public

void

show()

else

temp =temp.next;}}

}//根據下標獲取節點

public t get(int

index)

private node get(int

index, string s)

else

if (index >=size)

else

if (index < 0)

else

return

temp;

} else

return

temp;}}

}//在指定位置插入

public

void add(int

index, t t)

else

if (index < 0)

else

if (index == 0)

else

if (index ==size)

else

size++;

}//更改指定位置的元素

public

void set(int

index, t t)

else

if (index < 0)

else

}//刪除指定位置的元素

public

void remove(int

index)

else

if (index < 0)

else

if (index == 0)

else

if (index == size - 1)

else

size--;

}//返回頭節點

public

t getfirst()

//返回尾節點

public

t getlasts()

//節點物件

class

node

@override

public

string tostring() }}

view code

雙向鍊錶實現

template class link link link pre null,link ne null void operator new size t void operator delete void ptr template link link freelist null template v...

雙向鍊錶實現

雙向鍊錶的應用背景主要是單向鍊錶只能順序訪問,逆序訪問單向鍊錶 尤其是較大的單向鍊錶是一件極其費時費力的工作 相比於單向鍊錶,雙向鍊錶增加了乙個域,這個域裡面增加了乙個指向前驅節點的指標,使得整個鍊錶可以順序訪問或者逆序訪問,來去自如 定義的雙向鍊錶的標頭檔案,裡面包含了雙向鍊錶的宣告和資料型別的定...

鍊錶 java實現雙向鍊錶

前面已經總結了單向鍊錶,有興趣的兄弟可以進我部落格看一下。大家對比就可以看出,實現同樣的功能單向鍊錶要比雙向鍊錶痛苦的多。所以呀不斷地總結前輩留下的東西,是社會進步的基礎呀。可以直接看linkedlist的原始碼,其就是個雙向鍊錶。一 雙向鍊錶的結構。1 首先節點的結構,其中包含本節點內容,同時需要...