栈
漫步莱茵河畔
用心去工作
展开
-
《数据结构与算法》之栈(1)
栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top),相对地,把另一端称为栈底。对栈的基本操作有push(进栈)和pop(出栈),前者相当于插入,后者则是删除最后插入的元素。由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。栈也称为后进先出表。其实现代码如下:public cla...原创 2018-11-10 16:41:53 · 132 阅读 · 0 评论 -
《数据结构与算法》之栈(2)
如《数据结构与算法》之栈(1)所述,所构建的栈存在着如下问题:(1)容量固定问题,即栈创建之后,容量固定,不能够进行扩容,对于小型的可预知的应用来说,简单的栈就可以了。但是对于不可预知的应用,此栈结构将不再适合,需要构建容量可扩展的栈结构;(2)此栈只能存储int类型数据,对于其它类型数据将不再适用,可以用object类型代替int类型做数据定义。针对以上问题,下面提供一种新的栈结构:...原创 2018-11-10 18:57:27 · 128 阅读 · 0 评论 -
《数据结构与算法》之栈的应用
1、字符串的翻转(逆序)根据栈“后进先出”的特点,可以利用栈对字符串进行反转,即实现字符串的逆序。借助于《数据结构与算法》之栈(2)中的栈结构,相应实现的代码如下: public static void ReverString() { BigStack stack = new BigStack(); String str="123456789"; System.out.p...原创 2018-11-10 19:30:44 · 157 阅读 · 0 评论