`
NumbCoder
  • 浏览: 24165 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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];
		}
	}
}

 

分享到:

相关推荐

Global site tag (gtag.js) - Google Analytics