买球·(中国)投注APP官方网站

  • 足球投注app栈的链式存储结构是通过链表来终了的-买球·(中国)投注APP官方网站

资讯

你的位置:买球·(中国)投注APP官方网站 > 资讯 >

足球投注app栈的链式存储结构是通过链表来终了的-买球·(中国)投注APP官方网站

发布日期:2024-08-19 07:36    点击次数:170

栈(Stack)是一种谨守后进先出(LIFO, Last In First Out)原则的有序网络。栈的链式存储结构是通过链表来终了的,咱们称之为链栈。链栈比较规章栈(基于数组终了的栈)具有动态扩容的优点,无需追想栈溢出的问题,但可能会有更多的内存支拨(因为每个节点皆需要稀疏的指针来存储下一个节点的地址)。

链栈的基本结构

链栈的节点一般包含两个部分:数据域(存储数据)和指针域(存储指向下一个节点的指针)。链栈的顶部(栈顶)每每通过一个栈顶指针(top)来符号,栈顶指针指向链栈的终末一个元素(即最近入栈的元素)。

最初,咱们界说一个节点类Node,它包含数据域和指向下一个节点的指针(或援用):

class Node<T> { T data; // 节点存储的数据 Node<T> next; // 指向下一个节点的援用 // 构造要津 public Node(T data) { this.data = data; this.next = null; } }

然后,咱们界说链式栈类LinkedStack,它包含栈顶节点的援用和可能的要津,如push(入栈)、pop(出栈)、peek(检察栈顶元素)、isEmpty(查验栈是否为空)和size(赢得栈的大小):

public class LinkedStack<T> { private Node<T> top; // 栈顶节点 // 构造要津 public LinkedStack() { this.top = null; } // 入栈操作 public void push(T data) { Node<T> newNode = new Node<>(data); newNode.next = top; // 新节点指向蓝本的栈顶 top = newNode; // 更新栈顶为新节点 } // 出栈操作 public T pop() { if (isEmpty()) { throw new RuntimeException("Stack is empty"); } T data = top.data; // 暂存栈顶数据 top = top.next; // 更新栈顶为下一个节点 return data; // 复返栈顶数据 } // 检察栈顶元素 public T peek() { if (isEmpty()) { throw new RuntimeException("Stack is empty"); } return top.data; } // 查验栈是否为空 public boolean isEmpty() { return top == null; } // 赢得栈的大小 public int size() { int count = 0; Node<T> current = top; while (current != null) { count++; current = current.next; } return count; } // 可选:打印栈中扫数元素(从栈顶到栈底) public void printStack() { Node<T> current = top; while (current != null) { System.out.print(current.data + " "); current = current.next; } System.out.println(); } }

咫尺,咱们不错使用这个LinkedStack类来实施栈操作了。以下是一个圣洁的示例:

话剧巴士这辆移动话剧舞台自2023年2月14日上线以来,带给广大市民游客精彩的沉浸式移动话剧体验,在成都大大小小的街头中行驶了5000+公里,车内的欢声笑语在城市中留下了一道靓丽风景,这里既能观光,又能看剧,还有地道川味零食。

public class Main { public static void main(String[] args) { LinkedStack<Integer> stack = new LinkedStack<>(); stack.push(1); stack.push(2); stack.push(3); System.out.println("Stack size: " + stack.size()); // 输出:Stack size: 3 System.out.println("Stack top: " + stack.peek()); // 输出:Stack top: 3 stack.printStack(); // 输出:3 2 1 while (!stack.isEmpty()) { System.out.println(stack.pop()); // 轮番输出:3 2 1 } System.out.println("Stack size after popping: " + stack.size()); // 输出:Stack size after popping: 0 } }足球投注app



相关资讯Related Articles

  • 足球投注app折痕问题虽有改善但仍未赢得改进性讲理-买球·(中国

    2025-07-04

    跟着七月的到来,科技界迎来了一波新机发布高潮,涵盖旗舰平板、高端札记本、智高腕表等种种化家具,且多数主打高端旗舰建立。手游和讹诈的不断迭代升级,对建设的性能条款愈发严苛,促使各大品牌纷纷在自研芯片、性能引擎及算法优化凹凸功夫,奋力为用户带来更佳的使用体验。与此同期,AI大模子的融入,颠倒是在影像惩办、办公成果和电竞体验等方面的讹诈,让新机更具眩惑力。 三星也不甘过期,认真晓示其新一代旗舰折叠屏手机...

  • 买球·(中国)投注APP官方网站可控核聚变想法股盘中再度走强-买

    2025-07-03

    7月2日买球·(中国)投注APP官方网站,可控核聚变想法股盘中再度走强,融发核电涨停,哈焊华通、天力复合涨超5%,雪东谈主股份、久盛电气、大泰西、百利电气、中洲特材等跟涨。...

  • 足球投注app也提供了更为盛大的视线-买球·(中国)投注APP官

    2025-07-02

    近期,关联苹果行将推出的大折叠智高手机的爆料信息引起了平时热心。据悉,这款新机将配备一块7.58英寸的OLED折叠屏,其特有的屏幕比例约为14.1:10,为用户带来全新的视觉体验。此后置录像头方面,则给与了4800万像素的双摄组合,这一设立与苹果近期的iPhone系列有所同样。 在折叠屏手机最为关节的搭钮部分,苹果这次给与了更为耐用的非晶体金属玻璃材质,这一窜改缱绻旨在普及折叠屏的耐用性和褂讪性。...

  • 足球投注app该股累计飞腾33.13%-买球·(中国)投注APP

    2025-07-01

    时间万恒盘中涨停,已连收3个涨停板,逝世9:27,该股报10.65元,换手率2.66%,成交量782.88万股,成交金额8337.67万元,相接涨停时辰,该股累计飞腾33.13%,累计换手率为30.73%。最新A股总市值达31.34亿元。 龙虎榜数据涌现,该股因相接三个往异日内,涨幅偏离值累计达20%上榜龙虎榜1次,贸易居前营业部中,营业部席位共计净卖出2264.57万元。 4月22日公司发布的一...