当前位置: 首页 > 编程笔记 >

C#通过链表实现队列的方法

阚英睿
2023-03-14
本文向大家介绍C#通过链表实现队列的方法,包括了C#通过链表实现队列的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#通过链表实现队列的方法。分享给大家供大家参考。具体实现方法如下:

public class Node
{
 public int Data { get; set; }
 public Node Next { get; set; }
 public Node(int data)
 {
   this.Data = data;
 }
}
public class Queue
{
 private Node _head;
 private Node _tail;
 private int _count = 0;
 public Queue() { }
 public void Enqueue(int data)
 {
   Node _newNode = new Node(data);
   if (_head == null)
   {
    _head = _newNode;
    _tail = _head;
   }
   else
   {
    _tail.Next = _newNode;
    _tail = _tail.Next;
   }
   _count++;
 }
 public int Dequeue()
 {
   if (_head == null)
   {
    throw new Exception("Queue is Empty");
   }
   int _result = _head.Data;
   _head = _head.Next;
   return _result;
 }
 public int Count
 {
   get
   {
    return this._count;
   }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 我有一个链表类,这样实现(也进行了测试): 然后,我创建了一个队列类: 但是我不能在main上使用它,任何入队的尝试都会导致for循环崩溃,返回错误代码-1073741819。函数工作并显示。 输出: 我尝试为队列类编写一个构造函数来初始化LList类,但找不到正确的方法。如果我编写一个main函数只测试LList类,我就不需要初始化了,因为它的构造器已经在继续这个工作了。

  • 我得到了这些结构声明,以便实现使用循环链表的队列集合。 我试图创建一个函数,它将以指定的值排队(将其追加到队列的后面),我需要考虑队列为空和队列有一个或多个元素的两种情况。这是我到目前为止的代码: 这段代码给了我一个运行时错误,所以我不确定出了什么问题。在代码中,我假设队列-

  • 我很难理解linkedlist队列的enqueue方法的代码。我理解dequeue()、isEmpty()、First()和size()。首先,这里有一个LinearNode类来创建新的节点对象: 下面是Enqueue方法 在此编辑包含Enqueue方法的LinkQueue类:

  • 本文向大家介绍C语言单链队列的表示与实现实例详解,包括了C语言单链队列的表示与实现实例详解的使用技巧和注意事项,需要的朋友参考一下 1.概述: C语言的队列(queue),是指先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。 而单链队列使用链表作为基本数据

  • 本文向大家介绍C++链表倒序实现方法,包括了C++链表倒序实现方法的使用技巧和注意事项,需要的朋友参考一下 本文通过一个实例展示了C++实现链表倒序的方法,对于C++数据结构的学习有很好的参考借鉴价值。具体方法如下: 首先,C++链表倒序的难点在于如何一个个地修改。虽然不是数组,但是大概思想是一样的,所以可以用一个for循序,一个游标对应for循环里面的 i,只不过要记得前一个节点和后一个节点,尤

  • 本文向大家介绍C语言实现单链表实现方法,包括了C语言实现单链表实现方法的使用技巧和注意事项,需要的朋友参考一下 C语言实现单链表实现方法 链表和我们之前实现过的顺序表一样,都是简单的数据结构,链表分为单向链表、双向链表、循环链表。而单向链表又分为两种实现方法,一种为带头节点的单链表,一种为不带头节点的单链表。我们来具体看看不带头节点的单链表的实现 单链表:它是一种链式存储的线性表,用一组地址任意的