栈的java实现,栈的基本运算详解

  栈的java实现,栈的基本运算详解

  本文给大家带来一些java的知识,包括堆栈的基本操作,堆栈的方法和属性,堆栈的两种实现方法等等。希望对你有帮助。

  如何解决写爬虫IP受阻的问题?立即使用。

  

1.栈的概念

  栈(stack)又名堆栈作为一种数据结构,是一种特殊的线性表,只能一端插入一端删除。

  它是一个线性表,操作有限。限制是只允许在表的一端执行插入和删除操作。一端称为栈顶,另一端称为栈底。堆栈具有先进后出的特点。

  

2.栈的基本操作

  建栈:使用栈之前,先构建一个空栈进栈,压栈:向栈中添加新元素出栈:删除顶层元素读栈:查询当前顶层元素获取栈的大小,清空栈。。。

  

3.栈的方法和属性

  

Push为入栈

  

Pop为出栈

  

4.栈的两种实现方式

  

数组(顺序表)

  

链表

  链表可以看成一个小房间。每个房间通过指针指向下一个房间。它由指针链接。链表是物理存储单元中不连续、无序的存储结构。数据元素的逻辑顺序是通过链表的指针地址实现的。每个元素包含两个节点,一个是存储元素的数据字段(内存空间),另一个是指向下一个节点地址的指针字段。根据指针的不同,链表可以形成不同的结构,如单链表、双链表、循环链表等。

  :

5.数组与链表的区别

  

数组

  

优点:

   1.通过索引查询元素速度更快。

  2.根据索引遍历数组是很方便的。

  

缺点:

   1、预先定义固定长度(元素数)。

  2、不能适应数据的动态增减。

  当数据增加时,可能会超过最初定义的元素数,导致数组越界;

  当数据减少时,内存就浪费了。

  

链表

  

优点:

   1、不需要初始化容量,可以随意增减元素;

  2.添加或删除元素时,只需要改变指向地址前后两个元素节点的指针字段,所以添加和删除都很快捷。

  

缺点:

   1,因为包含大量指针字段,占用空间大;查找元素需要遍历链表,非常耗时。

  

6.栈的作用

  

6.1.保存局部变量:

  也可以在函数中使用局部变量,但不总是全局变量。然后在哪里存放局部变量比较合适,就是函数嵌套的时候不能有冲突,要注意效率。

  

6.2参数传递

  传递参数的目的是代码可以重用,让一个方法可以适用于更多的场合,而不需要针对N种情况编写N组相似的代码。用什么方法传递参数?您可以选择:

  

6.3 保存寄存器的值

  寄存器参数的冲突可以暂时将寄存器值推入堆栈。

  

6.4 其他作用

   1)栈是每一个功能架构的基础,实现了功能的重用。

  2)出现问题时,可以使用堆栈了解问题的情况。

  3)堆栈是构建操作系统多任务模式的基础。

  推荐:《java教程》以上是Java理论基础-堆栈(总结与分享)的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: