實現乙個簡單的LinkedList

2021-09-05 12:56:00 字數 1115 閱讀 6799

今天把jdk1.8的linkedlist原始碼看了一下,發現使用的資料結構就是雙向鍊錶。自己也動手實現了乙個簡易版本的雙向鍊錶

package com.natsuki.lesson2;

/** * @author:

* @date: 2018-12-29

* @description: 自己根據雙向鍊錶定義乙個簡易linkedlist

*/public class mylinkedlist

/*** 鍊錶新增元素

** @param index 插入元素的位置

* @param element 插入元素

*/public void add(int index, e element) else }}

/*** 在指定節點之前插入新節點

** @param element

* @param node

*/public void linkbefore(e element, nodenode) else

size++;

}/**

* 獲取指定位置的節點

** @param index 位置

* @return 指定位置的節點

*/public nodegetnode(int index)

return p;

} else

return p;}}

/*** 插入乙個新元素到底部

** @param element

*/public void add(e element) else

size++;

}/**

* @param index 操作元素的位置

* @return true表示操作位置沒有問題

*/private boolean checkpositionindex(int index)

@override

public string tostring()

return sb.tostring();

}private class node

}}

**的注釋已經很詳細了,這裡要注意過載了add的方法,預設沒有引數是向鍊錶尾部插入新的節點。

乙個簡單的Matrix實現

我們直接來看 吧 matrix.h pragma once include using namespace std 矩陣類 class matrix 下面是實現和測試的 matrix.cpp include matrix.h include include matrix matrix void ma...

LinkList的乙個簡單實現

鏈式線性表是資料結構裡很簡單但也是很常見的資料結構,相比順序儲存的線性表,可以更快的實現新增和刪除操作,但讀取速度比順序結構會慢。鏈式線性表的關鍵在於,每個資料儲存為節點形式。不僅僅儲存有資料,還有乙個引用 next 指向下乙個節點。鏈式結構還可以再擴充套件為雙向鍊錶 迴圈鍊錶等等。基本原理一樣,只...

實現乙個簡單的 shared ptr

智慧型指標的作用有如同指標,但會記錄有多少個 shared ptrs 共同指向乙個物件。這便是所謂的引用計數。一旦最後乙個這樣的指標被銷毀,也就是一旦某個物件的引用計數變為 0,這個物件會被自動刪除。shared ptr 的實現機制其實就是在拷貝構造時使用同乙份引用計數。同乙個 shared ptr...