Javaのデータ構造(1)----スタックとキュー
もうすぐ仕事を探します.データ構造は筆記試験の必須問題のようですから、復習しなければなりません.
まずスタック--先に入ってから出ます
キュー--先頭に移動
まずスタック--先に入ってから出ます
package com.wz.util;
public class Stack<T> {
private int MAX;
private int top;
private T []stack;
Stack (int max){
MAX = max;
stack = (T[])new Object [MAX];
top = -1;
}
//
public int push(T t){
int value = -1;
if(top >= MAX-1){
System.out.println("stack is full!");
value = 0; //
}
else{
top++;
stack[top] = t;
value = 1;
}
return value;
}
//
public T pop(){
if(top<0){
System.out.println("stack is empty!");
return null; //
}
else{
top --;
return stack[top+1]; //
}
}
}
キュー--先頭に移動
package com.wz.util;
public class Queue<T> {
private int front; //
private int rear; //
private int MAX;
private T [] queue;
Queue(int max){
MAX = max;
queue = (T [])new Object[MAX];
rear = -1;
front = 0;
}
//
public int enQueue(T t){
int value = -1;
if(rear >=MAX-1){
System.out.println("Queue is full!");
value = 0;
}
else{
rear ++;
queue[rear] = t;
value = 1;
}
return value;
}
//
public T deQueue(){
if(front>rear){
System.out.println("Queue is empty!");
return null;
}
else{
front++;
return queue[front-1];
}
}
}