`

链表栈

阅读更多
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++写的链表栈

    在C++编程语言中,链表栈是一种非常基础且实用的数据结构。栈(Stack)遵循“后进先出”(LIFO,Last In First Out)原则,而链表栈则是利用链表数据结构来实现这一特性。下面我们将深入探讨如何使用C++编写链表栈,...

    链表栈实现迷宫算法VC平台

    链表栈是一种特殊的栈结构,它利用链表的数据特性来模拟栈的操作。在传统的数组栈中,由于数组的大小固定,栈顶操作可能会受到数组容量的限制。而链表栈则通过动态创建节点来实现栈的压入和弹出操作,具有更好的灵活...

    栈:顺序栈和链表栈_C语言项目

    本文将深入探讨一种常用的数据结构——栈,特别是顺序栈和链表栈,它们都是实现栈功能的不同方式。栈通常被称为“后进先出”(LIFO,Last In First Out)的数据结构,广泛应用于各种算法和程序设计中,如表达式求值...

    一个用C++编的用链表栈实现的表达式求值

    在这个项目中,我们关注的是用C++编程语言通过链表栈来实现这一功能。链表栈是一种数据结构,它利用链表(linked list)的数据结构特性来模拟栈(stack)的行为,即后进先出(LIFO)的原则。下面将详细解释这个实现...

    基于链表栈模板的实现

    在这个实现中,`Linkedlist.h`可能包含了链表节点的定义和链表栈类的声明,而`stack.h`则包含了链表栈类的实现。在主函数中,我们可以测试这个模板的正确性和效率。 在实际编程中,了解和掌握链表栈的实现有助于...

    数据结构之链表栈与队列

    在某些场景下,链表栈和链表队列相比数组实现的栈和队列,能更好地处理动态变化的大小需求。 在实际编程中,我们可能需要对这些数据结构进行优化,例如,循环链表可以避免空指针问题,提高效率;链表栈和链表队列...

    数据结构 链表 C语言 单向链表 栈

    数据结构 链表 C语言 单向链表 栈

    链表栈的基本操作(C语言)

    节点的数据设计具有一般性(使用void *data),使用链表栈实现本功能,且栈的Top指针作为每个函数的形式参数。最后以int型序号管理为实例,演示实验功能。ac_impl.c负责输出选择菜单项;test_impl.c中实现对菜单的...

    java 队列 链表 栈

    本篇文章将详细讲解Java中的队列、链表和栈,这些概念是许多初学者和专业人士都需要掌握的基础知识。 首先,我们来谈谈队列。队列是一种先进先出(First In First Out,简称FIFO)的数据结构,类似于现实生活中的...

    基于c++链表栈队

    首先,我们来看链表栈的实现。栈是一种只能在一端进行插入和删除的数据结构,这一端被称为栈顶。在C++中,可以使用链表来实现栈。每个节点包含数据和一个指向下一个节点的指针。我们可以创建一个Node类,表示链表...

    自己写的VC多功能链表栈

    自己写的VC多功能链表栈,能当链表用,也能当堆栈用,各个功能都已经注释好了

    数据结构各种算法实现(C++模板)链表 栈 队的各种操作 图树

    数据结构各种算法实现(C++模板)链表 栈 队的各种操作 图树

    C语言 顺序链表 单链表 双链表 栈等程序

    本压缩包文件包含了关于C语言中数据结构实现的一些程序,具体涉及到了顺序链表、单链表和双链表以及栈的数据结构。下面我们将详细探讨这些知识点。 首先,我们来看顺序链表。顺序链表是一种线性数据结构,其元素在...

    字符串 向量 链表 栈和队列

    本主题将深入探讨四种基本数据结构:字符串、向量、链表、栈和队列,这些是编程中最常见且实用的数据结构。 首先,我们来了解**字符串**。在编程中,字符串是由字符组成的序列,常用于处理文本信息。C++中的`std::...

    栈的链表实现与测试代码(C语言)

    这个项目是学习数据结构和算法的好实例,它展示了如何用C语言实现一个基本的链表栈,并通过测试代码验证其实现的正确性。理解这种实现有助于加深对栈工作原理的理解,也有助于提升C语言编程能力。

    c语言编写链表 栈 可运行

    自己编写的 初学 忘指教 只有简单的3中操作 初始化 插入数据 删除数据 而对于基本的查找 置空 求长度在此基础上仿照编写即可

    链表栈实现

    学习数据结构过程中,亲自在VC++上编译通过的链表栈的实现源代码,与大家共享。

    栈的实现(C语言)数组实现以及链表实现

    栈的实现(C语言)数组实现以及链表实现源码,以及各个功能测试代码函数等 和后缀式转前缀式的用例

    数据结构和算法:链表栈递归

    在计算机科学和软件工程中,链表被广泛用于实现列表、栈、队列、图、树等数据结构。在给出的文件中,涉及到了链表在实现加法、翻转、划分、去重等操作时的应用,以及这些操作与栈和递归算法的关联。 首先,链表表示...

Global site tag (gtag.js) - Google Analytics