以前写的 C# 队列

原创 2007年10月13日 13:28:00

以前写的 C#  队列 

结点

/**//// <summary>
    
/// 队列节点
    
/// </summary>
    
/// <typeparam name="T">队列节点保存的对象</typeparam>

    internal class TCQueueNode<T>
    
...{
        
//init
        public TCQueueNode()
        
...{ }


        
private T nodeValue = default(T);                //节点对象

        
private TCQueueNode<T> nextNode = null;                //   节点对应的下一节点地址


        
/**//// <summary>
        
///  节点对应的下一节点地址
        
/// </summary>

        internal TCQueueNode<T> NextNode
        
...{
            
get ...return nextNode; }
            
set ...{ nextNode = value; }
        }


        
/**//// <summary>
        
/// 节点的值
        
/// </summary>

        internal T NodeValue
        
...{
            
get ...return nodeValue; }
            
set ...{ nodeValue = value; }
        }



    }

 队列

 

  /**//// <summary>
    
/// 队列类
    
/// </summary>
    
/// <typeparam name="T">队列结点保存的对象</typeparam>

    public class TCQueue<T>
    
...{
        
/**//// <summary>
        
/// 队列类 构造函数
        
/// </summary>

        public TCQueue()
        
...{ }

        
        
private int queueLength = 0;            //队列长度
        private TCQueueNode<T> FirstNode = null//队列头
        private TCQueueNode<T> LastNode = null//队列尾 

                      
        
/**//// <summary>
        
/// 队列长度
        
/// </summary>

        public int QueueLength
        
...{
            
get ...return queueLength; }
        }


       
        
/**//// <summary>
        
/// 入队
        
/// </summary>
        
/// <param name="NodeValue">对象</param>

        public void Enqueue(T NodeValue)
        
...{
            TCQueueNode
<T> QueueNode = new TCQueueNode<T>();  //初始化一个队列结点
            QueueNode.NodeValue = NodeValue;                                //赋值
            if(FirstNode==null)    FirstNode = QueueNode;                   //队列头为null时,设置队列头
            if (LastNode != null)  LastNode.NextNode = QueueNode;           //入队
            LastNode = QueueNode;                                           //队尾后排
            this.queueLength++;                                             //队列长度+1
        }


        
/**//// <summary>
        
/// 出队
        
/// </summary>
        
/// <returns>对象</returns>

        public T Dequeue()
        
...{
            
if (FirstNode == nullreturn default (T);
            TCQueueNode 
<T> tmpNode = FirstNode;
            T reStr 
= tmpNode.NodeValue;
            FirstNode 
= FirstNode.NextNode;
            
this.queueLength--;
            tmpNode 
= null;
            
return reStr;
        }

    }

C#学习之Queue分析

1、Queue定义 队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。  2、优点 ...
  • ycigwy
  • ycigwy
  • 2017-04-17 10:15:02
  • 1529

C# 队列(Queue)和 堆栈(Stack)

C# 队列(Queue) 队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。 Qu...
  • CoderJYF
  • CoderJYF
  • 2017-01-17 10:47:32
  • 3894

C#_Queue的使用方法

// Queue存放的数据类型是Object类型,所以可以同时存放整形和字符串 Queue queue = new Queue(); queue.E...
  • c201038795050
  • c201038795050
  • 2015-12-12 16:52:03
  • 1260

c#中queue队列用法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • smartsmile2012
  • smartsmile2012
  • 2017-05-24 15:45:23
  • 2350

C#队列Queue详解

Queue定义 : System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除。           能对集合进行顺序...
  • u010763324
  • u010763324
  • 2015-01-14 21:31:14
  • 4273

C# Queue使用

C# Queue使用使用场合如果所存储的第一个对象正是要使用的第一个对象,就要使用Queue(队列),例如: 沿着单向街道行进的车流 排队的人 不挂机等候客户支持热线服务的客户 所有按先来先服务原...
  • nihang1234
  • nihang1234
  • 2017-02-09 09:51:20
  • 161

c# - Synced queue - 多线程

class Program { private static Queue SyncQueue = new Queue(); private static int...
  • yuxuac
  • yuxuac
  • 2015-11-16 16:32:01
  • 645

C#queue队列总结

队列(Queue)在程序设计中扮演者重要的角色,因为它可以模拟队列数据操作。例如,排队买票就是一个队列的操作,后来的人排在后面,先来的人排在前面,并且买票请求先被处理。为了模拟队列的操作,Queue在...
  • flyfish0113
  • flyfish0113
  • 2016-01-20 21:22:40
  • 2084

C#队列Queue用法实例分析

C#队列Queue用法实例分析 这篇文章主要介绍了C#队列Queue用法,实例分析了队列的功能、定义及相关使用技巧,需要的朋友可以参考下 本文实例分析了C#队列Queue用...
  • qq_28270231
  • qq_28270231
  • 2015-10-13 13:37:18
  • 5525

(C#)使用队列(Queue)解决简单的并发问题

有一个场景:一个抢购的项目,假设有5件商品,谁先抢到谁可以买,但是如果此时此刻(这里的此时此刻假设是相同的时间),有100人去抢这个商品,如果使用平时的方法会出现什么情况呢?你懂的,这里所说是就是有关...
  • xuejunling
  • xuejunling
  • 2015-07-16 13:04:36
  • 57153
收藏助手
不良信息举报
您举报文章:以前写的 C# 队列
举报原因:
原因补充:

(最多只允许输入30个字)