线性表【栈(Stack)后进先出】【 队列(Queue)先进先出】
2013-06-08 13:41 xchit 阅读(1259) 评论(0) 收藏 举报【栈(Stack)后进先出】【 队列(Queue)先进先出】
线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系, 即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单, 便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。
栈(Stack)后进先出
public static void QuueMain()
{
//创建一个队列
Queue myQ = new Queue();
myQ.Enqueue("The");//入队
myQ.Enqueue("quick");
myQ.Enqueue("brown");
myQ.Enqueue("fox");
myQ.Enqueue(null);//添加null
myQ.Enqueue("fox");//添加重复的元素
// 打印队列的数量和值
Console.WriteLine("myQ");
Console.WriteLine("\tCount: {0}", myQ.Count);
// 打印队列中的所有值
Console.Write("Queue values:");
PrintValues(myQ);
// 打印队列中的第一个元素,并移除
Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue());
// 打印队列中的所有值
Console.Write("Queue values:");
PrintValues(myQ);
// 打印队列中的第一个元素,并移除
Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue());
// 打印队列中的所有值
Console.Write("Queue values:");
PrintValues(myQ);
// 打印队列中的第一个元素
Console.WriteLine("(Peek) \t{0}", myQ.Peek());
// 打印队列中的所有值
Console.Write("Queue values:");
PrintValues(myQ);
Console.ReadLine();
}
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write(" {0}", obj);
Console.WriteLine();
}

队列(Queue)先进先出
public static void StackMain()
{
Stack stack = new Stack();
stack.Push("one");
stack.Push("two");
stack.Push("three");
stack.Push("four");
stack.Push("five");
// 打印队列的数量和值
Console.WriteLine("Stack");
Console.WriteLine("\tCount: {0}", stack.Count);
// 打印队列中的所有值
Console.Write("Stack values:");
PrintValues(stack);
// 打印队列中的顶部第一个元素,并移除
Console.WriteLine("(Pop)\t{0}", stack.Pop());
// 打印队列中的所有值
Console.Write("Stack values:");
PrintValues(stack);
// 打印队列中的顶部第一个元素
Console.WriteLine("(Peek) \t{0}", stack.Peek());
// 打印队列中的所有值
Console.Write("stack values:");
PrintValues(stack);
Console.ReadLine();
}
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write(" {0}", obj);
Console.WriteLine();
}

浙公网安备 33010602011771号