这个是以前帮同学写的队列, 参考一下吧using System;namespace QueueWithCSharp { /// <summary> /// LinkList 的摘要说明。 /// </summary> /// public class Node { public int data; public Node prior, next;
public Node() { prior = null; next = null; data = 0; } } public class Queue { Node head, rear; int length; public int Length { get { return length; } }
public Queue() { // // TODO: 在此处添加构造函数逻辑 // head = rear = null; length = 0; } public void EnQueue(int data) // 追加 { if (rear == null) { rear = new Node(); head = rear; rear.data = data; length ++; } else { rear.next = new Node(); rear.next.data = data; length ++; rear = rear.next; } } public int DeQueue() { if (length <= 0) { rear = head = null; Console.WriteLine("队列中没有元素"); return 0; } int data = head.data; head = head.next; length --; return data; } public void Print() { string str = ""; Node current = head; while (current != null) { if (current == head) { str += current.data.ToString(); } else { str += " <- " + current.data.ToString(); } current = current.next; }// end while current Console.WriteLine(str); } } }
//如果已经有的就可以不去做,那么学习倒底做什么;
//如果已经有的就可以不去做,那么为什么需要除机器语言以外的所有语言;
//如果已经有的就可以不去做,那么为什么需要程序设计。
{
/// <summary>
/// LinkList 的摘要说明。
/// </summary>
/// public class Node
{
public int data;
public Node prior, next;
public Node()
{
prior = null;
next = null;
data = 0;
}
} public class Queue
{
Node head, rear;
int length; public int Length
{
get
{
return length;
}
}
public Queue()
{
//
// TODO: 在此处添加构造函数逻辑
//
head = rear = null;
length = 0;
} public void EnQueue(int data) // 追加
{
if (rear == null)
{
rear = new Node();
head = rear;
rear.data = data;
length ++;
}
else
{
rear.next = new Node();
rear.next.data = data;
length ++;
rear = rear.next;
}
} public int DeQueue()
{
if (length <= 0)
{
rear = head = null;
Console.WriteLine("队列中没有元素");
return 0;
}
int data = head.data;
head = head.next;
length --;
return data;
} public void Print()
{
string str = "";
Node current = head;
while (current != null)
{
if (current == head)
{
str += current.data.ToString();
}
else
{
str += " <- " + current.data.ToString();
}
current = current.next;
}// end while current
Console.WriteLine(str);
}
}
}
--------------------------------------
:原来我不信,现在我信了。
:
://CSDN中的确没有大佬。
:
://如果已经有的就可以不去做,那么何谓百丈高楼平地起;
://如果已经有的就可以不去做,那么学习倒底做什么;
://如果已经有的就可以不去做,那么为什么需要除机器语言以外的所有语言;
://如果已经有的就可以不去做,那么为什么需要程序设计。
: