我想知道队列的定义,以及必要的步骤,非常急!!!谢谢!!

解决方案 »

  1.   

    数据结构(C语言版)中这样定义的
    1队列的定义
      队列是一种受限的线性表。若限定线性表的插入只能在表头位置进行,而删除只能在表尾进行,则称这种线性表为队列。队列中,删除端称为队头,而插入端称为队尾。若某个队列QUEUE为(a1,a2,…,an),则称al为队头元素,an为队尾元素。这时若插入一个元素,它只能被插在队尾而成为an+1,若删除一个元素,则被删除的只能是a1。由这种特点决定了先入队的元素先出队。因此,队列又称为先进先出表。队列中的插入操作称为入队,删除操作称为出队。
    2队列的基本运算
      同栈一样,队列的运算也是线性表运算的一个子集。
      (1)初始化init(Q):将队列Q设置成空状态。
      (2)入队列add(Q,x):在队列Q中插入元素x。
    其常用的基本运算有:
        (3)出队列delete(Q):删除队列Q的队头元素。该运算通常将被删除的元素返回给调用者以备使用。
        (4)取队头元素front(Q):返回队列Q的队头元素之值,但并不出队。
        (5)判空empty(Q):判断队列Q是否为空队列,若队列为空,则返回真,否则返回假。
      

  2.   

    请问在VC中要怎样引入队列,我定义了一个CQueue的派生类,但是它没有继承CQueue 的属性和方法,需要引入什么,包含哪些文件吗?
      

  3.   

    1. 用一个链表,从表头插入,从表尾取出即可
        用Clist做一个模板,可以支持很多数据类型
    2.可以自己写个环形对列
      具体做法看任何一本数据结构书
      

  4.   

    Header: Declared in Wxutil.h; include Streams.h.
    Library: Use Strmbase.lib (retail builds) or Strmbasd.lib (debug builds).
    你的问题太不清楚了
      

  5.   

    发送线程首先从队列中取出一条记录,然后把其作为条件,进行数据库查询,在把查询结果send给客户端,以保证请求对应相应的正确结果。不知我的构思合理否,程序上可以实现吗?
      

  6.   

    我刚刚写了个队列类试了一下,但基类不太合适,这是我的代码,哪里要改进的,请指教
    CMyQueue::CMyQueue()
    {
        stringCount=0;
        stringArray=NULL;
        pos=0;
    }CMyQueue::~CMyQueue()
    {
        stringArray=NULL;
    }
    void CMyQueue::putToQueue(CString string)
    {
    stringArray[stringCount++]=string;
    }
    CString CMyQueue::getFromQueue()
    {
    return stringArray[pos];
    }
    void CMyQueue::moveFirst()
    {
        pos=0;
    }
    void CMyQueue::moveNext()
    {
        if(!isEnd())
    ++pos;
    }
    void CMyQueue::moveLast()
    {
        while(!isEnd())
    moveNext();
    }
    BOOL CMyQueue::isEmpty()
    {
        if(stringCount==0)
    return TRUE;
    else
    return FALSE;
    }
    BOOL CMyQueue::isEnd()
    {
        if(stringCount==pos)
    return TRUE;
    else
    return FALSE;
    }
    void CMyQueue::clear()
    {
        pos=0;
    stringCount=0;
    stringArray=NULL;
    }
      

  7.   

    我认为直接用MFC中的CTypedPtrList或CTypedPtrArray就能解决你的问题了
      

  8.   

    如果这样说,用STL不是更好。
      

  9.   

    STL中有deque,支持所有的类型的,大家还是多用标准把
      

  10.   

    就象上面说的,你应该用stl中的quere。我用stl中的vector非常多,感觉很方便。毕竟是标准的c++么。一般使用方法:
    #include <....>(自己看看手册)using namespace std;quere(...)(自己看看手册吧)
      

  11.   

    谢谢各位,但我对stl不熟,而且现在还急着用,能否更详尽一些,谢谢了
      

  12.   

    #include <queue>
    struct myStruct //装入的数据
    {
    };
    std::queue<myStruct> myQueue;
    myStruct a;
    myQueue.push(a) //放在队列尾
    myStruct b = myQueue.front(); //得到队列首
    myQueue.pop() //移出队列首