java棧和列隊

2021-07-25 13:23:56 字數 1532 閱讀 7656

1:棧的構造和應用

棧的特點:先進後出,後進先出。

**:package ch03;

public class mystack

//    帶引數的構造方法,引數為陣列化初始化大小

public mystack(int maxsize)

//    新增資料

public void push(int value)

//    移除資料

public long pop()

//    檢視資料

public long peek()

//    判斷是否為空

public boolean isempty()

//    判斷是夠棧滿

public boolean isfull()

}**********=

測試**

package ch03;

public class teststack

//判斷是夠為空,判斷是夠棧滿

system.out.println(mystack.isempty());

system.out.println(mystack.isfull());}}

2:列隊的構造和應用

列隊和棧完完全全不同的

順序:先進先出,後進後出,就像現實生活中的買票例子

package ch03;

public class myqueue

//    帶引數的構造方法,引數為陣列的大小

public myqueue(int maxszie)

//    新增資料,從隊尾插入

public void insert(long value)

//    刪除資料,從對頭刪除

public long remove()

//    檢視資料,從隊頭檢視

public long peek()

//    判斷是否為空

public boolean isempty()

//    判斷是否滿了

public boolean isfull()

}*****===

測試package ch03;

public class testqueue

//判斷是為空還是滿

system.out.println(mq.isempty());

system.out.println(mq.isfull());}}

問題:如果再插入資料,就會出現陣列越界的問題,用迴圈陣列可以解決這個問題

**********

在這些**改動

新增資料,從隊尾插入

public void insert(long value)

arr[++end]=value;

elements++;//有效資料也要遞增

}//    刪除資料,從對頭刪除

public long remove()

elements--;

return value;

}//**********==

棧和佇列 佇列

佇列 又一種特殊的線性表 佇列 queue 是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表 允許刪除的一端稱為隊頭 front 允許插入的一端稱為隊尾 rear 當佇列中沒有元素時稱為空佇列。佇列的修改是依先進先出的原則進行的。新來的成員總是加入隊尾 即不允許 加塞 每次離開的成員總是...

棧和佇列(佇列)

列隊類 public class myqueue 帶引數構造方法,引數為陣列大小 public myqueue int maxsize 新增資料 從隊尾插入 public void insert int value arr end value 注意是 end 不是end element 刪除資料,從...

棧的佇列(佇列)

二.關於佇列的簡單實現。順序佇列的基本實現和順序棧的實現基本相似。順序佇列在出列和入列的時候會使佇列整體向上移動,會浪費一定的空間。因此出現了一種佇列叫做迴圈佇列。迴圈佇列可以實現空間的重複利用,大大節省了空間。關於迴圈佇列的實現 建立乙個空佇列 struct node struct node in...