`
shenyu
  • 浏览: 122593 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

LinkedQueue 队

阅读更多

实现了队的最简单功能:先进现出

队属于ADT(抽象数据类型),其提供同样逻辑功能时,底层数据结构可以不一样。

内部实现使用DLink,只存储非负整数

put:入

get:出

isEmpty:队列是否为空

其他实现参考Queue

class LinkedQueue {
	private DLink dlink = new DLink();
	void put(int value) {
		dlink.addFirst(value);
	}

	int get() {
		return dlink.removeLast();
	}

	boolean isEmpty() {
		return dlink.getLength() == 0;
	}
}
 

 

分享到:
评论

相关推荐

    linkedQueue.zip

    在链式队列中,我们有两个特殊节点,分别是队首(front)和队尾(rear),队首元素是最先入队的,也是最先出队的;队尾元素则是最后加入的。本文将通过以下步骤详细介绍链式队列的实现: 1. **节点定义**:首先,...

    数据结构(Java语言描述) 案例06 舞伴配对问题.docx

    这里选择使用链式队列(LinkedQueue),因为它允许我们在队尾高效地添加和移除元素。链式队列的数据结构在Java中通常由LinkedList类实现,它提供了enqueue(入队)和dequeue(出队)等操作,方便我们进行元素的添加...

    最全的链表、堆栈和队列

    最后,**队列**是先进先出(FIFO,First In First Out)的数据结构,常用的操作有入队(Enqueue,将元素添加到队尾)和出队(Dequeue,移除并返回队首元素)。顺序队列是用数组实现,当元素数量达到数组大小时,需要...

    数据结构linkqueue

    3. 出队(dequeue):移除队头元素,将队头指针移动到下一个节点,然后释放原队头节点的内存。 4. 判断队列是否为空:检查队头和队尾指针是否相等。 5. 获取队头元素:返回队头元素,但不删除它。 6. 队列长度:计算...

    数据结构C++版 链表,堆栈,队列

    定义一个LinkedQueue类的对象queue和一个LinkedStack类的对象stack,并根据用户的输入分别对queue和stack作出相应的操作。若为"Push",则压栈;若为"EnQueue",则入队;若为"Pop",则出栈;若为"DeQueue",则出队;若为...

    数据结构 链式队列

    在给定的`LinkedQueue`文件中,应包含了这些函数的定义和测试用例,以便于理解和验证链式队列的功能。通过阅读和理解这个源代码,可以加深对链式队列数据结构的理解,并为后续的编程实践提供基础。

    队列(银行叫号系统).zip

    在这个银行叫号系统中,新来的顾客会被添加到队列尾部(入队),而正在服务的顾客完成业务后,下一个顾客就会从队列头部被取出(出队)。文件`LinkedQueue.cpp`可能包含了队列的链式实现,其中每个节点存储一个顾客...

    实验报告——栈和队列的应用.pdf

    题目3中,程序清单中的`LinkedQueue`类实现了这一功能,`put_in`方法用于添加打印任务到队列,`carry_out`方法用于处理队列头部的任务并删除它。 4. 循环队列的管理:循环队列在数组中实现,当front和rear指向同一...

    实验报告——栈和队列的应用.docx

    在程序清单中,我们看到了一个基于链表实现的队列模板类`LinkedQueue`,包含`makeEmpty`清空队列、`put_in`插入元素、`carry_out`执行打印命令(相当于删除队首元素)等方法。在主函数中,用户输入的命令被逐个存入...

    C语言实现链队列

    其中,QueueNode结构体用于定义链队列的结点,LinkedQueue结构体用于定义链队列的队头和队尾指针,ElemType结构体用于定义链队列的元素类型。 链队列的操作是指对链队列的各种操作,包括初始化队列、元素入队、元素...

    c++继承派生

    - **LinkedQueue 类**:同样从 `LinkedList` 类派生出来,用于实现队列的数据结构。队列是一种先进先出(FIFO)的数据结构。主要提供了 `EnQueue` 和 `DeQueue` 方法来实现入队和出队操作。 - `void EnQueue...

    201700130009_张愈博_实验71

    提供的源代码片段展示了`linkedQueue`类的定义,包括构造函数、析构函数以及上述的方法实现。但是,完整的`discard`方法和扑克牌类的定义没有给出,这部分代码可能存在于`扑克牌.h`文件中。 总结来说,这个实验涉及...

    DoubleLinkedList

    在本篇中,我们将深入探讨一种特殊的数据结构——双向链表(DoubleLinkedList),以及如何利用它来实现队列(LinkedQueue)和栈(LinkedStack)的基本操作。 双向链表,顾名思义,是一种链式数据结构,每个节点不仅...

    C++链表类插入、删除

    - `bool Dequeue(T& record)`:出队操作,等同于`DelFirst(record)`。 #### 示例应用 示例程序创建了一个`LinkedList<int>`类型的链表`list1`,并在头部依次插入数字1、2、3,然后输出链表中的所有元素。接着删除...

    数据结构基础类

    顺序队列通常基于数组实现,而链队列则利用链表的特性,它们都能有效地处理元素的入队和出队操作。 在实际应用中,这些数据结构经常被用作算法的基础,例如在搜索、排序、图形处理和编译器设计等任务中。了解和熟练...

    数据结构实验5 二叉树.doc

    同时,`LinkedQueue<T>` 类实现了一个队列,用于辅助进行遍历和树的操作,如节点入队和出队。 在提供的代码片段中,我们看到了一个二叉树类`BinaryTree<T>`,它包含了头节点(先根和中根遍历的序列)以及根节点的...

    数据结构栈、链式队列、树的实现

    队列的主要操作包括入队(Enqueue)新元素到队尾和出队(Dequeue)队首元素。链式队列通常使用链表(LinkedList)实现,因为链表的插入和删除操作在任何位置都能高效进行。以下是一个简单的链式队列实现: ```...

    Python实现队列的方法示例小结【数组,链表】

    - 使用列表实现队列时,入队操作的时间复杂度为 O(1),而出队操作的时间复杂度为 O(n),因为每次出队后需要调整列表中的其他元素。 - 使用链表实现队列时,入队和出队操作的时间复杂度均为 O(1),因此在处理大量...

Global site tag (gtag.js) - Google Analytics