通用队列的实现

1.顺序队列的实现

#include <cstdlib>
#include <iostream>

using namespace std;
template <class Type>
class Queue
{
  private:
  Type *q;
  int front,rear,max;
  public:
  Queue(int m):max(m)
  {
    q=new Type(max);
    rear=front=0;
  }
  ~Queue()
  {
    delete[] q;
  }
  bool Add(Type item);
  bool Del(Type &item);
  bool QueueEmpty();
  bool QueueFull();
};
template <class Type>
bool Queue<Type>::QueueEmpty()
{
  if(front==rear)
    return true;
  else
    return false;
}
template <class Type>
bool Queue<Type>::QueueFull()
{
  if((rear+1)%max==front)
    return true;
  else
    return false;
}
template <class Type>
bool Queue<Type>::Add(Type item)
{
  if(QueueFull())
  {
    cout<<"Queue if full"<<endl;
    return false;
  }
  else
  {
    q[rear]=item;
    rear=(rear+1)%max;
    return true;
  }
}
template <class Type>
bool Queue<Type>::Del(Type &item)
{
  if(QueueEmpty())
  {
    cout<<"Queue is empty!"<<endl;
    return false;
  }
  else
  {
    item=q[front];
    front=(front+1)%max;
    return true;
  }
}
int main(int argc, char *argv[])
{
    Queue<int> *q=new Queue<int>(10);
    q->Add(4);
    q->Add(5);
    int i=0;
    q->Del(i);
    cout<<i<<endl;
    q->Del(i);
    cout<<i<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}

2.链式队列的实现

#include <cstdlib>
#include <iostream>

using namespace std;
template <class Type>
class LinkedQueue
{
  private:
  struct node
  {
    Type data;
    struct node *link;
  };
  struct node *top,*rear;
  public:
  LinkedQueue()
  {
    rear=top=NULL;
  }
  ~LinkedQueue()
  {
    node *temp;
    while(top)
    {
      temp=top;
      top=top->link;
      delete temp;
    }
  }
  bool Add(Type item);
  bool Del(Type &item);
  bool QueueEmpty();
};
template <class Type>
bool LinkedQueue<Type>::QueueEmpty()
{
  if(top==NULL)
    return true;
  else
    return false;
}
template <class Type>
bool LinkedQueue<Type>::Add(Type item)
{
  node *t=new node;
  if(t==NULL)
  {
    cout<<"out of space!"<<endl;
    return false;
  }
  else
  {
    t->data=item;
    t->link=NULL;
    if(rear==NULL)
    {
      top=t;
      rear=t;
    }
    else
    {
      rear->link=t;
      rear=t;
    }
    return true;
  }
}
template <class Type>
bool LinkedQueue<Type>::Del(Type &item)
{
  if(QueueEmpty())
  {
    cout<<"Queue is empty!"<<endl;
    return false;
  }
  else
  {
    node *t;
    t=top;
    item=t->data;
    if(top==rear)
    {
      top=NULL;
      rear=NULL;  
    }
    else
    {
      top=top->link;
    }
    delete t;
    return true;
  }
}
int main(int argc, char *argv[])
{
    LinkedQueue<int> *q=new LinkedQueue<int>();
    q->Add(4);
    q->Add(5);
    int i=0;
    q->Del(i);
    cout<<i<<endl;
    q->Del(i);
    cout<<i<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cc是c是一c是一种c是一种计c是一种计算c是一种计算机c是一种计算机编c是一种计算机编程c是一种计算机编程语c是一种计算机编程语言c是一种计算机编程语言。c是一种计算机编程语言。它c是一种计算机编程语言。它于c是一种计算机编程语言。它于197c是一种计算机编程语言。它于1972c是一种计算机编程语言。它于1972年c是一种计算机编程语言。它于1972年由c是一种计算机编程语言。它于1972年由丹c是一种计算机编程语言。它于1972年由丹尼c是一种计算机编程语言。它于1972年由丹尼斯c是一种计算机编程语言。它于1972年由丹尼斯·c是一种计算机编程语言。它于1972年由丹尼斯·里c是一种计算机编程语言。它于1972年由丹尼斯·里奇c是一种计算机编程语言。它于1972年由丹尼斯·里奇在c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。cc是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。cc是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如Cc是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Javac是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Java、c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Java、Pythonc是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Java、Python等c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Java、Python等等c是一种计算机编程语言。它于1972年由丹尼斯·里奇在贝尔实验室创造,是一种高效、灵活和通用的语言。c语言的主要应用领域包括系统编程、操作系统、编译器、游戏编程、嵌入式系统开发等等。c语言也是很多编程语言的基础,如C++、Java、Python等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值