`
coolszy
  • 浏览: 1412630 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

队列----链接列表实现队列

 
阅读更多
/**
 * 链接列表实现队列
 */
package com.szy.structure.queues;

import java.util.Scanner;

class Node
{
	public int data;
	public Node next;
}
public class LinkedQueue
{
	Node FRONT,REAR;
	
	public LinkedQueue()
	{
		FRONT=null;
		REAR=null;
	}
	/**
	 * 插入新节点
	 * @param element
	 */
	public void insert(int element)
	{
		Node newNode=new Node();
		newNode.data=element;
		newNode.next=null;
		if (FRONT==null)
		{
			FRONT=newNode;
			REAR=newNode;
		}
		else
		{
			REAR.next=newNode;
			REAR=newNode;
		}
	}
	/**
	 * 删除节点
	 */
	public void remove()
	{
		if (FRONT==null)
		{
			System.out.println("队列为空!");
			return;
		}
		FRONT=FRONT.next;
	}
	/**
	 * 遍历节点
	 */
	public void display()
	{
		if (FRONT==null)
		{
			System.out.println("队列为空!");
			return;
		}
		Node currentNode=FRONT;
		while(currentNode!=null)
		{
			System.out.print(currentNode.data+" ");
			currentNode=currentNode.next;
		}
	}
	
	public static void main(String[] args) throws Exception {
		LinkedQueue queues=new LinkedQueue();
		int choice=0;
		while(true)
		{
			System.out.println("\n---MENU---");
			System.out.println("1.Insert");
			System.out.println("2.Delete");
			System.out.println("3.Display");
			System.out.println("4.Exit");
			System.out.println("----------");
			System.out.println("请选择:");
			Scanner scanner=new Scanner(System.in);
			choice=scanner.nextInt();
			switch (choice) {
			case 1:
			{
				System.out.println("请输入数字:");
				int input=scanner.nextInt();
				queues.insert(input);
			}
				break;
			case 2:
			{
				queues.remove();
			}
			break;
			case 3:
			{
				queues.display();
			}
			break;
			case 4:
				return;
			default:
				System.err.println("无效的输入!");
				break;
			}
		}
	}
}

 

分享到:
评论

相关推荐

    c++算法集-排序-链表-图-队列-二叉树实现

    "c++算法集-排序-链表-图-队列-二叉树实现"这个压缩包包含了C++语言实现的一些核心数据结构和算法,这些都是计算机科学的基础。 首先,我们来详细探讨排序算法。排序是计算机科学中最基本的操作之一,它涉及将一组...

    数据结构-C语言版-第二版(严蔚敏)-第3章-栈和队列-答案.doc

    "数据结构-C语言版-第二版(严蔚敏)-第3章-栈和队列-答案.doc" 本资源主要讲解了数据结构中的栈和队列两种基本数据结构。栈是一种后进先出的线性表,队列是一种先进先出的线性表。栈和队列都是基本的数据结构,可以...

    数据结构队列的实现

    以上内容展示了如何使用动态链接的方式实现队列,包括队列的基本操作如初始化、销毁、判断是否为空、获取长度以及获取队头元素等功能。这种方式相比于数组实现,更加灵活,适用于队列大小不固定的场景。

    双向列表实现队列程序

    本话题主要关注如何使用双向列表来实现一个队列程序,特别是在Linux环境下。双向列表相较于单链表或数组,提供了更灵活的前后插入和删除操作,适合构建队列这种先进先出(FIFO)的数据结构。 首先,我们需要了解...

    Socket异步通信,线程,双端队列-计算机网络原理课程设计

    在这个课程设计中,学生将有机会实现一个使用异步Socket通信、多线程以及双端队列的简单网络应用程序。可能的实现包括创建一个服务器,它使用异步Socket监听和处理来自多个客户端的连接,每个连接在一个单独的线程上...

    c语言实现队列功能

    在给定的“c语言实现队列功能”的主题中,我们可以通过分析`cquene.cpp`和`cquene.h`这两个文件来了解如何使用C语言实现队列。 `cquene.h`通常是头文件,它会包含队列的数据结构定义以及相关的函数声明。在C语言中...

    图片的队列呈递效果-Jquery实现

    要实现图片的队列呈递效果,首先我们需要理解队列的概念。队列是一种先进先出(FIFO)的数据结构,新进的元素在队尾,而出队则发生在队头。在图片呈现中,这意味着图片会按照一定的顺序逐个显示,就像一个正在播放的...

    数据结构课件、代码第3章栈和队列-81-3.ppt

    数据结构中的栈和队列是两种非常基础且重要的数据结构,它们都是线性表的特殊形式,但在操作上有所限制。栈被称为后进先出(LIFO)结构,而...理解并熟练掌握栈和队列的原理及实现方法,对于编程解决问题具有重要意义。

    C语言实现队列源码,包含顺序队列,链式队列,循环队列,亲测可用

    这些源代码提供了实现队列功能的基本框架,包括初始化队列、入队、出队、查看队头元素、检查队列是否为空和已满等操作。在实际编程中,我们还需要考虑错误处理,如内存分配失败、非法操作等情况,确保程序的健壮性。...

    数据结构-队列的实现代码(C语言版).rar

    数据结构 -- C语言版 -- 队列的部分实现代码,详细介绍参考数据结构--队列的系列博文。链接为:https://blog.csdn.net/songshuai0223/category_9742561.html。

    cy-优先队列的练习(队列四--林大版).pdf

    为了更好地掌握优先队列的概念,文件中还建议读者访问作者的博客,那里可能有更多的例题链接和详细题解。 最后,文件中强调了STL中优先队列的使用,以及如何通过自定义比较函数来实现小根堆和大根堆的配置,这是...

    用单链表和队列实现归并排序

    在标题“用单链表和队列实现归并排序”中,我们可以理解到这个实现是利用了链表和队列的数据结构。链表是一种线性数据结构,其中的元素在内存中不是顺序存储的,而是通过指针链接。队列则是一种先进先出(FIFO)的...

    C语言实现队列

    根据给定的文件信息,我们可以总结出以下关于“C语言实现队列”的详细知识点: ### 一、基础知识 #### 1.1 数据结构定义 在本案例中,队列是通过链表来实现的,链表是一种常见的线性数据结构,它通过节点之间的...

    C语言实现队列和相关操作的代码

    根据给定的C语言代码,我们可以深入探讨队列这一数据结构以及如何在C语言中实现队列的基本操作。队列是一种先进先出(First In First Out, FIFO)的数据结构,这意味着最先加入队列的元素将最先被移除。在计算机科学...

    链式队列的实现整型、字符型

    链式队列是一种数据结构,它是队列的一种特殊形式,主要特点是存储空间不连续,而是通过指针链接各个元素。在计算机科学中,队列是一种先进先出(First In First Out, FIFO)的数据结构,而链式队列是用链表来实现的...

    索引队列-C#中的自定义队列

    标题 "索引队列-C#中的自定义队列" 指向了一个特定的数据结构实现,即在C#编程环境中创建一个支持索引访问的队列。在标准的`System.Collections.Generic.Queue<T>`类中,元素只能通过入队(Enqueue)和出队...

    Java队列实现,数据结构

    Java作为一种强大的面向对象的编程语言,提供了多种方式来实现队列。在这个Java队列实现的数据结构作业练习中,我们将会探讨如何使用Java来创建一个简单的队列,并分析`Queue.java`和`Node.java`这两个文件可能包含...

    队列顺序存储&链式存储.rar

    文件“队列-顺序存储.c”可能包含了使用C语言实现的顺序队列,包括初始化、入队、出队等操作。 2. **链式存储**:链式存储的队列不依赖于数组的连续存储,而是通过节点之间的指针连接。每个节点包含数据元素和指向...

    单片机队列实现

    本主题将详细探讨如何在单片机环境下实现一个基于数组的队列,并通过测试程序进行验证。 一、队列的基本概念 队列是一种先进先出(First In First Out, FIFO)的数据结构,其操作主要分为入队(Enqueue)和出队...

    广东工业大学-优先队列和二叉堆.pdf

    斜堆是另一种实现优先队列的数据结构,它通过堆的重新链接操作来维护堆性质,这种结构不需要二叉树的完全形态,而是可以呈现为任意形状。左偏树是一种平衡二叉树,它通过维护节点间的距离属性来保持平衡,从而实现...

Global site tag (gtag.js) - Google Analytics