0
点赞
收藏
分享

微信扫一扫

java数据结构(Stack)

君之言之 2022-04-01 阅读 72

一、栈(Stack:后进先出或先进后出)

栈(Stack)是一种有序特殊的线性表,只能在表的一端(称为栈顶,top,总是指向栈顶元素)执行插入和删除操作,最后插入的元素将第一个被删除,因此栈也称为后进先出或先进后出的线性表。

二、基本操作

1、创建栈

	Stack<T> stack=new Stack<>();

2、入栈(add 、push)

1. push:向栈顶插入数据

        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);

2. add :向 栈顶/特定位置 插入数据

	 //add 向栈顶插入数据
     stack.add(6);
     //add 向特定位置插入数据(从栈底由0开始)
     stack.add(1,10);

3. add与push区别
返回值不同:add返回布尔类型 ,push则返回插入元素的类型

        System.out.println(stack.push(6));// 6
        System.out.println(stack.add(7)); //true

3、出栈 (pop)

pop :将栈顶数据输出且删除

        stack.pop();

4、输出 (peek)

peek: 将栈顶数据输出,但不删除

        System.out.println(stack.peek());//6

5、查找 (search)

search: 查询与栈数据相等的首个位置,从栈顶由1开始

  System.out.println(stack.search(10));//7

6、获取(get)

get:获取由栈底从0开始 位置的数据

	System.out.print(stack.get(1));//10

7、判断是否为空(empty)

三、栈的输出

  1. for循环遍历,遍历结束,stack不变——由栈底开始从0输出
	for(int i=0;i<stack.size();i++){
        System.out.print(stack.get(i)+" ");
    }
    
	for (Integer i:stack) {
	    System.out.print(i+" ");
	}
  1. 调用pop输出,遍历结束 ,stack清空——由栈顶开始输出
	while (!stack.empty()){
        System.out.print(stack.pop()+" ");
    }
举报

相关推荐

0 条评论