定義乙個介面
public
inte***ce ilinarlist
定義乙個結點類
/*
*/public
class node
}
建立乙個slinklist類來實現介面
public
class slinklistimplements ilinarlist
/*乙個節點中的成員變數指向乙個新的node,從例項物件的角度,整條鍊錶中有例項化的物件為start,
* 詳見1、2,可以看出,private nodestart=new node(item,null),例項化了乙個start
* 接下來add方法中,nodecurrent=start 為引用了start 的位址,start 的成員變數next的型別是node的引用型別,
* 裡面包含乙個e型別的item,和乙個node型別的next
* 也就是說每新增乙個節點都是沒有例項化物件的,直接從start 的next成員指向乙個新的node,
* 再新增就是從新的node中的next成員指向新的node* 如下面的語句
*///新增元素到鍊錶的末尾
public boolean add(e item)
current.next=new node(item,null);//引用最後乙個節點的next,建立乙個新的節點
}size++;
return
true;
}//插入元素到i索引位置前插入乙個資料元素
public boolean add(int i, e item) else
previous.next=newnode;//將前乙個節點的位址的next指向修改為newnode
newnode.next=current;//將newnode的next指向當前的節點元素
size++;
}return
true;
}//清楚索引的元素
public e remove(int i) else
}return oidvalue;
}public
intindexof(e item)
}else
}return -1;//當遍歷完整個鍊錶之後沒有所要的元素,說明此鍊錶不存在此元素,返回-1
}public e get(int i)
return item;
}public
intsize()
public
void
clear()
start =null;//start也是指向一片位址,如果沒有清空的話,依然可以訪問,只不過start.item和start.next都為空罷了
size=0;
}public boolean isempty()
}
Java資料結構 單鏈表
鍊錶是一種資料結構,和陣列同級。鍊錶在進行迴圈遍歷時效率不高,但是插入和刪除時優勢明顯。單鏈表結構 單鏈表就相當於從頭結點開始,每乙個節點只要記錄下一節點,就把所有資料串了起來,形成了乙個單向鍊錶。各個節點的儲存可以是分散的。頭插法 尾插法 entry entry new entry val 建立要...
java資料結構之單鏈表
在單鏈表中對表頭進行插入或者刪除時,時間複雜度為o 1 單鏈表查詢指定節點時因為要進行迴圈查詢,平均需要查詢n 2次,所以時間複雜度為o n 儲存密度 資料占用的儲存量 整個結點占用的儲存量。根據這個公式可以得出單鏈表的儲存密度為大於1,在空間利用率上面比順序表要差 所以可以得出以下結論 單鏈表一般...
java資料結構 單鏈表實現
節點類 package linkedlist public class node 單鏈錶類 package linkedlist 鍊錶 author administrator param public class linkedlist else curr.next node length retu...