返回顶部
首页 > 资讯 > 精选 >Java中栈的线性结构是什么
  • 442
分享到

Java中栈的线性结构是什么

2023-06-20 20:06:42 442人浏览 安东尼
摘要

这期内容当中小编将会给大家带来有关Java中栈的线性结构是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一:栈栈是限制插入和删除只能在一个位置上进行的表,此位置就是表的末端,叫作栈顶。栈的基本操作分为

这期内容当中小编将会给大家带来有关Java中栈的线性结构是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一:栈

栈是限制插入和删除只能在一个位置上进行的表,此位置就是表的末端,叫作栈顶。

栈的基本操作分为push(入栈) 和 pop(出栈),前者相当于插入元素到表的末端(栈顶),后者相当于删除栈顶的元素。

Java中栈的线性结构是什么

二:栈的实现

public class LinearStack {        private int size = 5;        int top = -1;        private int[] stack;    public LinearStack() {        stack = new int[size];    }        public  boolean isFull() {        boolean result = false;        if(top == size - 1) {            result = true;        }        return result;    }        public  void push(int value) {                if(isFull())            stack = expansionStack();        top++;        stack[top] = value;    }        public  int  pop() {        if(top == -1)            throw new RuntimeException("栈空!出栈失败");        int result = stack[top] ;        top--;        return result;    }        public  int[] expansionStack() {        size = size + 10;        int[] stackTemp = new int[size];        for (int i = 0; i < stack.length; i++) {            stackTemp[i] = stack[i];        }        return stackTemp;    }        public int getTop() {        return stack[top];    }        public  String toString() {        String str = "[";        for (int i = 0; i <= top; i++) {            if(i == top)                str = str + stack[i] + "]";            else                str = str + stack[i] + ",";        }        return str;    }}

三:栈的测试

public class LinearStackTest {    public static void main(String[] args) {        LinearStack linearStack = new LinearStack();                linearStack.push(1);        linearStack.push(2);        linearStack.push(3);        linearStack.push(4);        linearStack.push(5);                System.out.println("0:arrayStack  " + linearStack.toString());                linearStack.push(6);                System.out.println("1:arrayStack:  " + linearStack.toString());                System.out.println("获取栈顶元素:stack[top] = " + linearStack.getTop()+"   top = " + linearStack.top);                System.out.println("出栈:stack[top] = " + linearStack.pop()+"   top = " + linearStack.top);                System.out.println("2:arrayStack:  " + linearStack.toString());    }}

四:栈的应用(回文序列的判断)

public class LinearStackChar {    private int size = 5;        int top = -1;        private char[] stack;    public LinearStackChar() {        stack = new char[size];    }        public  boolean isFull() {        boolean result = false;        if(top == size - 1) {            result = true;        }        return result;    }        public void push(char value) {                if(isFull())            stack = expansionStack();        top++;        stack[top] = value;    }        public  char  pop() {        if(top == -1)            throw new RuntimeException("栈空!出栈失败");        char result = stack[top] ;        top--;        return result;    }        public char[] expansionStack() {        size = size + 10;        char[] stackTemp = new char[size];        for (int i = 0; i < stack.length; i++) {            stackTemp[i] = stack[i];        }        return stackTemp;    }        public char getTop() {        return stack[top];    }        public  String toString() {        String str = "[";        for (int i = 0; i <= top; i++) {            if(i == top)                str = str + stack[i] + "]";            else                str = str + stack[i] + ",";        }        return str;    }}
public class LinearStackCharTest {    public static void main(String[] args) {                String str = "abcba";        LinearStackChar linearStackChar = new LinearStackChar();        //讲字符串切割,存放在栈中        for (int i = 0; i < str.length(); i++) {            linearStackChar.push(str.charAt(i));        }        //存放完成,显示栈中的元素        System.out.println("stack = " + linearStackChar.toString());        //出栈        String result = "";        int length = linearStackChar.top;        System.out.println("top = " + length);        for (int i = 0; i <= length; i++) {            result  = result + String.valueOf(linearStackChar.pop());        }        //出栈组成的字符串        System.out.println("result = " + result);        //判断是否相等        System.out.println("result = abcba?    " + (result.equals("abcba") ? true : false));    }}

上述就是小编为大家分享的Java中栈的线性结构是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java中栈的线性结构是什么

本文链接: https://lsjlt.com/news/299749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java中栈的线性结构是什么
    这期内容当中小编将会给大家带来有关Java中栈的线性结构是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一:栈栈是限制插入和删除只能在一个位置上进行的表,此位置就是表的末端,叫作栈顶。栈的基本操作分为...
    99+
    2023-06-20
  • Java数据结构之栈的线性结构详解
    目录一:栈二:栈的实现三:栈的测试四:栈的应用(回文序列的判断)总结一:栈 栈是限制插入和删除只能在一个位置上进行的表,此位置就是表的末端,叫作栈顶。 栈的基本操作分为push(入...
    99+
    2024-04-02
  • java中线性表的存储结构是什么
    今天就跟大家聊聊有关java中线性表的存储结构是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java数据结构学习笔记第一篇:用程序后在那个的数据大致有四种基本的逻辑结构:集合:...
    99+
    2023-05-31
    java 线性表 ava
  • Java线性数据结构是什么
    本篇内容介绍了“Java线性数据结构是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1)数组一眼看上去就知道的,像 String []、...
    99+
    2023-06-15
  • 线性结构 队列与栈
    线性结构 队列与栈 栈 栈(Stack)是一种遵循先进后出(LIFO)原则的有序列表,新添加或待删除的元素都保存在栈的一端,这一端被称作为栈顶,另一端被称作为栈底。在栈里,新元素都靠近栈顶,旧元素都靠近栈底。 栈的操作 方法 操作 ...
    99+
    2023-01-31
    队列 线性 结构
  • java数据结构中的循环链表和栈是什么
    这篇文章主要讲解了“java数据结构中的循环链表和栈是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java数据结构中的循环链表和栈是什么”吧!目录循环链表:实现思路:代码实现:栈:实现...
    99+
    2023-06-20
  • java虚拟机中栈结构是怎样的
    这篇文章将为大家详细讲解有关java虚拟机中栈结构是怎样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对...
    99+
    2023-06-14
  • 深入浅析java中的栈结构
    深入浅析java中的栈结构?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java 数据结构中栈结构应用的两个实例1、单词逆序。 要求从控制台读入一串字符,按回车结...
    99+
    2023-05-31
    java ava 栈结构
  • java数据结构中栈怎么应用
    本篇内容主要讲解“java数据结构中栈怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java数据结构中栈怎么应用”吧!声明一个栈接口SStackpackage ch05;&nb...
    99+
    2023-06-22
  • java非线性结构有哪些
    java中的非线性结构有:1.多维数组;2.广义表;3.树;4.堆;java中的非线性结构有以下几种多维数组java中多维数组是一种复杂的非线性结构,其原理是一个数据元素可能有多个直接前驱和多个直接后继。广义表java中广义表是另一种复杂的...
    99+
    2024-04-02
  • 52.【Java 数据结构——线性表】
    线性表 1.什么是线性表2.线性表的定义:3.线性表图解:4.线性表的长度:5.线性表的顺序储存结构:5.1定义:5.2顺序储存结构的插入元素:5.3线性表的顺序结构的删除元素:5.4线性表顺...
    99+
    2023-10-05
    数据结构 算法 链表
  • web开发中数据结构线性结构链表是怎样的
    这篇文章给大家介绍web开发中数据结构线性结构链表是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、前言我们今天要讲解的 链表 不一样,链表是我们数据结构学习的一个重点,也有可...
    99+
    2024-04-02
  • Java基础中Java的体系结构是什么
    这篇文章给大家介绍Java基础中Java的体系结构是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 前言到目前为止Java仍然是使用最多的编程语言,随着Java以及Java社区的不断壮大,Java也早已不再是简简...
    99+
    2023-06-26
  • java什么是栈
    系统中的堆、栈和数据结构堆、栈不是一个概念。可以说系统中的堆、栈是真实的内存物理区,数据结构中的堆、栈是抽象的数据存储结构。栈:实际上就是满足后进先出的性质,是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和...
    99+
    2019-04-11
    java入门 java
  • java数据结构基础:线性表
    目录前言需求分析编码add方法getIndex方法pop方法insert方法getAll全部代码总结前言 其实线性表在生活中和栈的结构差不多。昨天总结了一篇单链表,也是线性表的一种。...
    99+
    2024-04-02
  • java线性数据结构有哪些
    java中的线性数据结构有:1.数组;2.队列;3.链表;4.栈;java中的线性数据结构有以下几种数组java中数组是是使用单独的变量名来存储一系列的值,可以用一个变量名存储所有的值,并且可以使用变量名访问任何一个值。队列java中队列是...
    99+
    2024-04-02
  • java数据结构之栈的详解
    目录一、栈1.栈的应用1.1括号匹配1.2后缀表达式1.3用栈实现队列1.4最小栈1.5栈的压入和弹出序列总结一、栈 栈的特性就是先进后出,常用方法是入栈(push()),出栈(po...
    99+
    2024-04-02
  • 怎么分析Java数据结构中的栈与队列
    今天就跟大家聊聊有关怎么分析Java数据结构中的栈与队列,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一,栈1,概念在我们软件应用 ,栈这种后进先出数据结构的应用是非常普遍的。比如你...
    99+
    2023-06-29
  • 什么是Java数据结构
    这篇文章主要讲解了“什么是Java数据结构”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是Java数据结构”吧! 应用场景-背包问题背包问题:有一个背包,容量为4磅,现有如下物...
    99+
    2023-06-15
  • Java栈之链式栈存储结构的实现代码
    Java栈之链式栈存储结构实现一、链栈采用单链表来保存栈中所有元素,这种链式结构的栈称为链栈。二、栈的链式存储结构实现package com.ietree.basic.datastructure.stack;public class Lin...
    99+
    2023-05-31
    java 存储
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作