public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
public class LinkStack {
private Node top;
public LinkStack() {
top = new Node();
}
/**
* 清空操作
* */
public void clear() {
top = new Node();
}
/**
* 压栈操作
* */
public void push(Object object) {
Node node = new Node();
node.setObject(object);
node.setNext(top.getNext());
top.setNext(node);
}
/**
* 出栈操作
* */
public Node pop() {
if (top.getNext() == null) {
System.out.println("Stack is Empty!");
return null;
}
Node returnNode = top.getNext();
top.setNext(top.getNext().getNext());
return returnNode;
}
/**
* 判断为空
* */
public boolean isEmpty() {
return (top.getNext() == null) ? true : false;
}
}
public class Test {
public static void main(String[] args) {
LinkStack linkStack = new LinkStack();
linkStack.push("1234");
linkStack.push("12345");
linkStack.push("123456");
linkStack.push("1234567");
linkStack.isEmpty();
System.out.println(linkStack.toString());
System.out.println("end");
}
}
分享到:
相关推荐
链表栈是一种数据结构,它利用链表的特性来模拟栈的行为。栈是一种后进先出(LIFO)的数据结构,通常用于临时存储和处理数据。在链表栈中,元素不是存储在固定大小的数组中,而是通过节点链接在一起,每个节点包含一...
在C++编程语言中,链表栈是一种非常基础且实用的数据结构。栈(Stack)遵循“后进先出”(LIFO,Last In First Out)原则,而链表栈则是利用链表数据结构来实现这一特性。下面我们将深入探讨如何使用C++编写链表栈,...
链表栈是一种特殊的栈结构,它利用链表的数据特性来模拟栈的操作。在传统的数组栈中,由于数组的大小固定,栈顶操作可能会受到数组容量的限制。而链表栈则通过动态创建节点来实现栈的压入和弹出操作,具有更好的灵活...
本文将深入探讨一种常用的数据结构——栈,特别是顺序栈和链表栈,它们都是实现栈功能的不同方式。栈通常被称为“后进先出”(LIFO,Last In First Out)的数据结构,广泛应用于各种算法和程序设计中,如表达式求值...
在这个项目中,我们关注的是用C++编程语言通过链表栈来实现这一功能。链表栈是一种数据结构,它利用链表(linked list)的数据结构特性来模拟栈(stack)的行为,即后进先出(LIFO)的原则。下面将详细解释这个实现...
在这个实现中,`Linkedlist.h`可能包含了链表节点的定义和链表栈类的声明,而`stack.h`则包含了链表栈类的实现。在主函数中,我们可以测试这个模板的正确性和效率。 在实际编程中,了解和掌握链表栈的实现有助于...
在某些场景下,链表栈和链表队列相比数组实现的栈和队列,能更好地处理动态变化的大小需求。 在实际编程中,我们可能需要对这些数据结构进行优化,例如,循环链表可以避免空指针问题,提高效率;链表栈和链表队列...
数据结构 链表 C语言 单向链表 栈
节点的数据设计具有一般性(使用void *data),使用链表栈实现本功能,且栈的Top指针作为每个函数的形式参数。最后以int型序号管理为实例,演示实验功能。ac_impl.c负责输出选择菜单项;test_impl.c中实现对菜单的...
本篇文章将详细讲解Java中的队列、链表和栈,这些概念是许多初学者和专业人士都需要掌握的基础知识。 首先,我们来谈谈队列。队列是一种先进先出(First In First Out,简称FIFO)的数据结构,类似于现实生活中的...
首先,我们来看链表栈的实现。栈是一种只能在一端进行插入和删除的数据结构,这一端被称为栈顶。在C++中,可以使用链表来实现栈。每个节点包含数据和一个指向下一个节点的指针。我们可以创建一个Node类,表示链表...
自己写的VC多功能链表栈,能当链表用,也能当堆栈用,各个功能都已经注释好了
数据结构各种算法实现(C++模板)链表 栈 队的各种操作 图树
本压缩包文件包含了关于C语言中数据结构实现的一些程序,具体涉及到了顺序链表、单链表和双链表以及栈的数据结构。下面我们将详细探讨这些知识点。 首先,我们来看顺序链表。顺序链表是一种线性数据结构,其元素在...
本主题将深入探讨四种基本数据结构:字符串、向量、链表、栈和队列,这些是编程中最常见且实用的数据结构。 首先,我们来了解**字符串**。在编程中,字符串是由字符组成的序列,常用于处理文本信息。C++中的`std::...
这个项目是学习数据结构和算法的好实例,它展示了如何用C语言实现一个基本的链表栈,并通过测试代码验证其实现的正确性。理解这种实现有助于加深对栈工作原理的理解,也有助于提升C语言编程能力。
自己编写的 初学 忘指教 只有简单的3中操作 初始化 插入数据 删除数据 而对于基本的查找 置空 求长度在此基础上仿照编写即可
学习数据结构过程中,亲自在VC++上编译通过的链表栈的实现源代码,与大家共享。
栈的实现(C语言)数组实现以及链表实现源码,以及各个功能测试代码函数等 和后缀式转前缀式的用例
在计算机科学和软件工程中,链表被广泛用于实现列表、栈、队列、图、树等数据结构。在给出的文件中,涉及到了链表在实现加法、翻转、划分、去重等操作时的应用,以及这些操作与栈和递归算法的关联。 首先,链表表示...