在學會了單向鍊錶之後,我們可以用鍊錶來自己寫乙個佇列,要這樣寫佇列,那就得有乙個[color=red]鍊錶結點類[/color]:
public class linknode
//定義得到資料的方法
public object getobj()
//定義寫入資料的方法
public void setobj(object obj)
//定義得到下乙個結點的方法
public linknode getnode()
//定義連線下乙個結點的方法
public void setnode(linknode node)
}
然後就能寫出乙個自定義佇列了,乙個佇列它需要有[color=red]增加、佇列大小、刪除、插入、修改、得到資料[/color]等方法。
public class mylist else
}//得到佇列的大小
public int size()else
return count;}}
//得到指定位置上的資料
public object get(int index)elseelse
node = node.getnode();
} }}
return 0;
}//移除指定位置上的資料
public void remove(int index)elseelse
node = node.getnode();}}
}}//在指定位置修改佇列裡的資料
public void modify(int index ,object obj)elseelse
node = node.getnode();}}
} }//在指定位置上插入元素
public void insert(int index,object obj)elseelse
node = node.getnode();}}
} }
}
寫好乙個佇列後我們可以來測試下
public class listtest
list.remove(3);
list.modify(7, "元素:"+10);
list.insert(0, "元素:"+11);
list.insert(6, "元素:"+12);
for(int i =0;isystem.out.println(list.size());
}}
結果與我們所想一致,那麼自定義的佇列就寫好了 :d
自定義鍊錶
鍊錶是非連續 無順序的資料結構,鍊錶中元素與元素之間的記憶體位址沒有順序關係。鍊錶由乙個個結點組成,結點中儲存兩類資訊,第一類是儲存入結點的資料,第二類是結點的指向。鍊錶分為單項鍊表,雙向鍊錶,環形鍊錶,單項鍊表中只有乙個結點指向,指向的的下乙個結點的記憶體位址,只能單向移動,單項操作 雙向鍊錶有兩...
自定義鍊錶
author qcg version 2019 5 6.description 自定義鍊錶 頭尾部的兩步操作 1.插入節點 next指向node 2.變更節點 last指標後移 node.next insertnode 這是插入元素的操作 public class mylinkedlist node...
自定義鍊錶
大多數人使用鍊錶都是看了一遍懵懵懂懂的,想要真正學習的人建議潛下心來自定義乙個鍊錶試試,自己搭建高樓大廈和看別人搭建是兩碼事,在自定義的過程中會明白自己建立的美妙感覺 public class node public node node privious,node next,object eleme...