我们使用自定义的方法 StringReverserThroughStack() 来实现进栈和出栈的详细过程。

完整代码

import java.io.IOException;public class StringReverserThroughStack {private String input; private String output;public StringReverserThroughStack(String in) {input = in;}public String doRev() {int stackSize = input.length(); Stack theStack = new Stack(stackSize); for (int i = 0; i < input.length(); i++) {char ch = input.charAt(i); theStack.push(ch); }output = "";while (!theStack.isEmpty()) {char ch = theStack.pop(); output = output + ch; }return output;}public static void main(String[] args) throws IOException {String input = "www.baidu.cc";String output;StringReverserThroughStack theReverser = new StringReverserThroughStack(input);output = theReverser.doRev();System.out.println("反转前: " + input);System.out.println("反转后: " + output);}class Stack {private int maxSize;private char[] stackArray;private int top;public Stack(int max) {maxSize = max;stackArray = new char[maxSize];top = -1;}public void push(char j) {stackArray[++top] = j;}public char pop() {return stackArray[top--];}public char peek() {return stackArray[top];}public boolean isEmpty() {return (top == -1);}}
}

结果输出

反转前: www.baidu.com
反转后: moc.udiab.www

Java 进栈出栈的过程相关推荐

  1. js进栈出栈_[js]数组栈和队列操作

    写在前面 在项目中,对数组的操作还是比较常见的,有时候,我们需要模拟栈和队列的特性才能实现需求,这里记录一下这个知识点. 栈 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一 ...

  2. java判断出栈顺序,java判断出栈顺序是否正确

    java判断出栈顺序是否正确 我们知道栈是一种先进后出的数据容器.当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或 ...

  3. Go语言_数据结构_栈(包括入栈和出栈,表达式的入栈出栈详细过程代码实现)

    入栈和出栈代码实现如下: package main import ("fmt""errors" )//使用数组来模拟一个栈的使用 type Stack stru ...

  4. js进栈出栈_JavaScript调用栈

    1:基本概念 栈(stack):用来保存简单的数据字段. 堆(heap):用来保存栈中简单的数据字段对指针的引用. 队列:是一种先进先出的线性数据结构.函数的调用的进栈和出栈的顺序,遵循 先进后出 的 ...

  5. java判断出栈顺序,Java判断出栈顺序是不是正确的方法

    我们知道栈是一种先进后出的数据容器.当一个栈的输入序列是递增序列(例如a,b,c,d),并且在进栈操作时,允许退栈操作,则输出的序列可能有多种形式(例如:d,c,b,a或a,c,b,d等).但是却肯定 ...

  6. c语言堆栈基本代码入栈出栈_c语言的简单的进栈出栈

    这个代码运行时只能输入4个以内的数有输出4个以上就没有输出了求大神看看#include#include#defineStack_Size50typedefstructSeqstack{intelem[ ...

  7. js进栈出栈_链栈及基本操作(包含入栈和出栈)详解

    链栈,即用链表实现栈存储结构. 链栈的实现思路同顺序栈类似,顺序栈是将数顺序表(数组)的一端作为栈底,另一端为栈顶:链栈也如此,通常我们将链表的头部作为栈顶,尾部作为栈底,如图 1 所示: 图 1 链 ...

  8. 简单实现顺序表示的栈与队列的进栈出栈创空栈入队出队创空队等算法

    栈和队列是两种最重要的数据结构,也是两种最典型的抽象数据类型,应用非常的广泛. 目录 一.栈 一.空栈的创建 二.进栈 三.出栈 二.队列 一.创建空队列 二.队列的入队和出队 三.取队列头元素 一. ...

  9. C语言 数据结构 顺序栈的实现 进栈 出栈 初始化

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码实现 前言 顺序栈是栈的顺序实现.顺序栈是指利用顺序存储结构实现的栈.采用地址连续的存储空间(数组)依次存储栈 ...

最新文章

  1. byte数组截取_Go解密:数组、切片
  2. OneShot LiDAR Global Localization:基于单帧激光点云和视觉增强的全局定位方法
  3. 《LeetCode力扣练习》第17题 电话号码的字母组合 Java
  4. 一秒回到P图前:Adobe发布“反向PS”利器,知道你修过哪里,还帮你修回去
  5. js复制网站文字追加网站来源,网站版权
  6. VTK:小部件之TextWidget
  7. 图书管理系统 java 源码_[源码和文档分享]基于C语言和SQL SERVER数据库实现的图书管理系统...
  8. 前端笔记-StackedBar3D的初步修改(添加legend等)
  9. springboot整合netty
  10. Cocos2d-js-v3.2 在 mac 上配置环境以及编译到 Andorid 的注意事项(转)
  11. 20172319 实验三《查找与排序》实验报告
  12. 时间片轮转调度算法(Java)
  13. 数学建模真题训练——2003B题 CUMCM 露天矿生产的车辆安排(原创)
  14. EDA技术及应用实验2 or2a程序
  15. 采用面向接口编程思想组装一台计算机
  16. java gdal生成彩色tiff文件 并压缩大小
  17. 以二叉链表为存储结构, 试编写计算二叉树中叶子结点数目的递归算法.
  18. php下载太慢,迅雷下载速度慢的几种解决方法
  19. linux之shell的一些基础
  20. 优酷视频APP的缓存视频在哪里

热门文章

  1. python原理与架构_Python:爬虫原理和网页构造
  2. 中关村win11 32位全新官方版镜像v2021.07
  3. Win11锁屏快捷键是什么 Win11锁屏的方法
  4. win7系统任务管理器如何强制关闭程序
  5. 辽宁沈阳计算机学校王斯琪,青春正好,理所当“燃”——沈阳万合技校开展2020-2021年度春季学期跳大绳比赛...
  6. websocket的用途/场景
  7. 前端给后端传递数据的时候,有些后端自己可以获取到的值应该由前端传递吗?
  8. 向量除法能用计算机吗,为什么向量没有除法
  9. vue 组件 - 非单文件组件
  10. java值传递string_关于java:按值传递(StringBuilder与String)