1. 陣列實現棧
public class mystack
// 壓入元素
public void push(int element)
// 把新增的元素放入新的陣列中
newarr[elements.length] = element;
// 使用新陣列替換舊陣列
elements = newarr;
} public int pop()
// 取出陣列的最後乙個元素
int element = elements[elements.length - 1];
// 建立乙個新的陣列
int newarr = new int[elements.length - 1];
// 原陣列中除了最後乙個元素的其它元素放入新的陣列中
for (int i = 0; i < elements.length - 1; i++)
// 替換陣列
elements = newarr;
// 返回棧頂元素
return element;
} // 檢視棧頂元素
public int peek()
return elements[elements.length - 1];
} // 判斷棧是否為空
public boolean isempty()
//test
public static void main(string args)
}
2.陣列實現佇列
public class myqueue
//入隊
public void add(int element)
// 把新增的元素放入新的陣列中
newarr[elements.length] = element;
// 使用新陣列替換舊陣列
elements = newarr;
} //出隊
public int poll()
//為節點追加節點
//當前節點
node currentnode=this;
//迴圈向後找
while(true)
//賦給當前節點
currentnode=nextnode;
} //把需要追回的節點追加為找到的當前節點的下乙個節點
currentnode.next=node;
return this; }
//插入乙個節點作為當前節點的下乙個節點
public void after(node node)
//顯示所有節點資訊
public void show()
} system.out.println(); }
//刪除下乙個節點
public void removenext()
//獲取下乙個節點
public node next()
//獲取節點中的資料
public int getdata()
//當前節點是否是最後乙個節點
public boolean islast()
//test
public static void main(string args)
}
4.迴圈鍊錶
5.雙向迴圈鍊錶
public class doublenode
// 新增節點
public void after(doublenode node)
// 下乙個節點
public doublenode next()
// 上乙個節點
public doublenode pre()
//獲取資料
public int getdata()
}
資料結構 棧 佇列 鍊錶
棧 1,棧只能從表的一端訪問資料,另一端是封閉的。2,在棧中,無論是存資料還是取資料,都必須遵循 先進後出 的原則,即最先進棧的元素最後出棧。基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作 向棧中新增元素,此過程被稱為 進棧 入棧或壓棧 從棧中提取出指定元素,此過程被稱為 出棧 或彈...
資料結構 棧 佇列 鍊錶
棧 1,棧只能從表的一端訪問資料,另一端是封閉的。2,在棧中,無論是存資料還是取資料,都必須遵循 先進後出 的原則,即最先進棧的元素最後出棧。基於 棧結構的特點,在實際應用中,通常只會對棧執行以下兩種操作 向棧中新增元素,此過程被稱為 進棧 入棧或壓棧 從棧中提取出指定元素,此過程被稱為 出棧 或彈...
Java實現棧 佇列 鍊錶
棧 底層陣列 棧頂指標 public class mystack 自定義構造器,自定義初始化棧大小 public mystack int initsize 插入 public void push int num 刪除 public intpop 檢視 public intpeek 佇列 底層陣列 佇...