数据结构和算法(二)

1.3数据结构中的栈

基本思想:后进先出(先进后出)即栈中元素被处理时,按后进先出的顺序进行,栈又叫后进先出表(LIFO)。
举例:
日常生活中有很多栈的例子。例如,放在书桌上的一摞书,只能从书顶上拿走一本书,书也只能放在顶上。
对于栈来说,入栈,出栈,栈是否为空,栈顶。等方法。
使用数组来模拟栈的操作的代码:

public class Stacktest01 {
	public static void main(String[] args) {
		
		StackT stackT=new StackT(5);
		
		System.out.println(stackT.isEmpty());
	   if (!stackT.isfull()) {
		    stackT.push(100);
			stackT.push(200);
			stackT.push(300);
			stackT.push(400);
//			stackT.push(500); 
			System.out.println(stackT.peek());
			
//		while (!stackT.isEmpty()) {
//		
//				System.out.println(stackT.pop());
//				
//				
//			
//			
//		}	
			
	}else {
		System.out.println("栈满了!!!!");
	}
		
		
	}

}


//建立一个stack这样的一个类

class StackT{
	 
	
	public int maxsize;// 这是这个栈的大小
	public int Stackarray[]; //这个就是你的栈
	public int top=-1; // 这个作为栈顶
	
	public StackT(int s) {
		maxsize=s;
		Stackarray=new int[maxsize];
	}
	
	
	//入栈的方法
	
	public void push(int number){
		
		Stackarray[++top]=number;
		
	}
	
	//入栈之前要进行判断栈是否为满栈
	
	public boolean isfull(){
		return (top==maxsize-1);
	}
	
	//先进行判断栈是否为空栈 ,如果为空栈,就不需要出栈,不为空才出栈
	
	public boolean isEmpty(){
		return(top==-1);
	}
	
	//出栈操作
	
	public int pop(){
		return (Stackarray[top--]);
	}
	
	// 取的这是栈顶
	public int peek(){
		return (Stackarray[top]);
	}
	
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值