package cn.xiaobo.Stack;數組
public class StackApp {
private long maxsize;
private long[] StackArr;
private int top;
public StackApp(int size) {
this.maxsize=size;
StackArr=new long[size];
top=-1;
}
public void push(long item) {
StackArr[++top]=item;
}
/**
* 返回並彈出最上面的那個數據
* @return
*/
public long pop(){
return StackArr[top--];
}
/**
* 只能返回,不會彈出數據
*/
public long peek() {
return StackArr[top];
}
public Boolean isEmpty() {
return top==-1;
}
public Boolean isFull(){
return top==maxsize-1;
}
}函數
2.在main函數實驗一下this
package cn.xiaobo.Stacspa
//插入10個數
stApp.push(23);
stApp.push(24);
stApp.push(25);
stApp.push(26);
stApp.push(27);
stApp.push(28);
stApp.push(29);
stApp.push(30);
stApp.push(1);
stApp.push(13);
System.out.println("peek is: "+stApp.peek());.net
//循環輸出
while(!stApp.isEmpty()){
System.out.println("pop is: "+stApp.pop());
}
}
}隊列
peek is: 13
pop is: 13
pop is: 1
pop is: 30
pop is: 29
pop is: 28
pop is: 27
pop is: 26
pop is: 25
pop is: 24
pop is: 23rem
package cn.xiaobo.Queue;get
public class QueueApp {it
private int tail;
private int front;
private int maxsize;
private int nitems; //用來檢驗隊列是否滿或者空;
private int[] QueueArr;
public QueueApp(int maxsize) {
tail=0;
front=0;
this.maxsize=maxsize;
QueueArr=new int[maxsize];
nitems=0;
}
/**
* 這裏用tail就是表示後面插入的數據
* 下標值越大,放在數組的後邊
* @param item
*/
public void insert(int item) {
QueueArr[tail++]=item;
//當已是數組容量最大值時,從頭開始;
if(tail==maxsize){
tail=0;
}
nitems++;
}
public int remove() {
int temp=QueueArr[front++];
if(front==maxsize){
front=0;
}
nitems--;
return temp;
}
public Boolean isEmpty() {
return nitems==0;
}
public Boolean isFull() {
return nitems==maxsize;
}
public int peekfront() {
return QueueArr[front];
}
//nitem的個數就是隊列的個數
public int size() {
return nitems;
}
}class
package cn.xiaobo.Queue;
/**
* 特色,先進先出FIFO,每次操做最前面的數據
* @author 曉 * */ public class QueueMain { public static void main(String[] args) { QueueApp queueApp=new QueueApp(10); queueApp.insert(20); queueApp.insert(10); queueApp.insert(23); queueApp.insert(22); queueApp.insert(25); queueApp.insert(26); queueApp.insert(28); queueApp.insert(29); queueApp.insert(23); queueApp.insert(42); System.out.println(queueApp.isFull()); System.out.println(queueApp.peekfront()); while(!queueApp.isEmpty()){ System.out.println("the size is : "+queueApp.size()); System.out.println("remove is : "+queueApp.remove()); } } }