參照其底層**,按照自己的理解實現了linkedlist的一些基本功能。
如果對c和c++指標了解一下,理解起來非常快。
package cn.liu.mylinkedlist;
//結點
public class node
//構造器,來傳資料
public node(object element)
}
package cn.liu.mylinkedlist;
/** * 自定義乙個鍊錶
* @author dick
* */
public class mylinkedlist
else
size++;
} //add函式,在指定位置插入乙個結點
//先通過index找到位置,再插入
public void add(e obj,int index)
else //其他結點
size--; }
//判斷索引是不是合法
public void judge(int index) }
//找到某個節點
public node getnode(int index)
} return temp; }
//get函式
public object get(int index)
//tostring函式重寫
@override
public string tostring()
sb.setcharat(sb.length()-1, ']');
return sb.tostring(); }
//remove函式 移除指定結點
public void remove(int index)
//被刪除結點為尾結點
if(index == size-1)
//被刪除結點為中間的結點
if(one!=null)
if(two!=null)
size--;
} }
}
手工實現linkedList
鍊錶結構就像一根鏈條一樣,環環相扣。每一環 node entry 都由next previous,element 存放資料的地方 第乙個的next 是第二個,第二個的next是第三個,直到最後乙個的next 可以為null 最後第乙個的previous 是最後第二個,最後第二個的previous是最...
LinkedList手工實現01
linkedlist的底層是基於鍊錶實現的,所以查詢慢,增刪改快,但是執行緒不安全,效率較高。remove方法 add方法 get方法 getnode方法 author hq e mail ahmashq95 gmail.com date 2018 11 2.public class linkedl...
kmeans手工實現
演算法原理 kmeans的計算方法如下 1 隨機選取k個中心點 2 遍歷所有資料,將每個資料劃分到最近的中心點中 3 計算每個聚類的平均值,並作為新的中心點 4 重複n次,直到這k個中心點不再變化 收斂了 或執行了足夠多的迭代 實現 import math import random class c...