以前写的 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;
        }

    }

ActiveMQ消息队列的应用 C#客户端 Web后端

写在前面 整个项目就是实现C#客户端往消息队列生产10W条消息,Ajax Web读取这10W条消息,后台采用Tomcat。 项目搭建环境: jdk1.7.0_04 MyEclipse10....
  • PeterPan_hai
  • PeterPan_hai
  • 2016年08月18日 15:42
  • 2136

C#队列Queue用法实例分析

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

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

有一个场景:一个抢购的项目,假设有5件商品,谁先抢到谁可以买,但是如果此时此刻(这里的此时此刻假设是相同的时间),有100人去抢这个商品,如果使用平时的方法会出现什么情况呢?你懂的,这里所说是就是有关...
  • xuejunling
  • xuejunling
  • 2015年07月16日 13:04
  • 51706

C# 数据结构基础-实现循环队列

队列     队列的概念是先进先出,这个应该不用多说了。看下面那个从网上找的现成图片。 循环队列     循环队列在逻辑上将队列中的数据摆成环形,如下图: 下面直接上代码,不会掰。 ///...
  • liguo9860
  • liguo9860
  • 2015年01月04日 17:52
  • 3970

C#实现任务队列

using System; using System.Collections.Generic; using System.Linq; using System.Threading; using Sys...
  • Tonny_007
  • Tonny_007
  • 2015年06月17日 10:31
  • 2764

用 C# 实现带键值的优先队列

Timus 1037. Memory management Timus 1037. Memory management 要求你实现一个内存管理器。 1037. Memory man...
  • wangxiong_zh
  • wangxiong_zh
  • 2016年01月14日 00:18
  • 756

C#数据结构回顾之循环队列

引言:队列就和我们平常排队买肾6一样,排队第一个肯定先能买到,也具有“先进先出”即所谓的FIFO,其实质用一维数组来存放顺序队列中的数据元素。插入操作限定在表的尾部而其它操作限定在表的头部进行的。队头...
  • CrazyMo_
  • CrazyMo_
  • 2015年05月29日 16:17
  • 1328

c#中queue队列用法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...
  • smartsmile2012
  • smartsmile2012
  • 2017年05月24日 15:45
  • 1360

C# 栈和 队列

堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:    ·堆中某个节点的值总是不大于或不小于其父节点的值;   ...
  • qq_36074134
  • qq_36074134
  • 2017年02月17日 14:08
  • 290

C#的分布式消息队列介绍

EQueue - 一个纯C#写的分布式消息队列介绍2 2015-05-10 汤雪华 dotNET跨平台 一年前,当我第一次开发完EQueue后,写过一篇文章介绍了其整体架构,做这个框架的背景,以...
  • hailang9027
  • hailang9027
  • 2017年04月28日 15:11
  • 995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:以前写的 C# 队列
举报原因:
原因补充:

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