21xrx.com
2024-11-05 16:27:03 Tuesday
登录
文章检索 我的文章 写文章
C++实现队列基本操作代码
2023-07-07 00:18:57 深夜i     --     --
C++ 队列 基本操作 代码

队列是一种数据结构,它可以存储一系列按顺序排列的元素,并支持在队列的一端添加元素,从另一端移除元素。在C++中,我们可以通过使用数组或链表实现队列的基本操作。本文将介绍使用数组实现队列的代码,包括队列的创建、添加元素、移除元素和判断队列是否为空等操作。

创建队列

在C++中,我们通常使用数组来实现队列。创建队列时,我们需要定义一个数组和两个整数变量front和rear,分别表示队列的前端和后端。初始时,front和rear均为-1,表示队列为空。

int queue[100];

int front = -1;

int rear = -1;

添加元素

在队列中添加元素时,我们需要先判断队列是否已满。如果队列已满,则无法添加元素,否则,将元素添加到队列的末尾。添加元素时,需要将rear指针加1,并把元素赋值给queue[rear]。

if(rear == 99)

 std::cout<<"Queue is full."<

else{

 rear++;

 queue[rear] = element;

}

移除元素

在队列中移除元素时,我们同样需要先判断队列是否为空。如果队列为空,则无法移除元素,否则,将队列的第一个元素移除。移除元素时,需要将front指针加1,并返回被移除的元素。

if(front == rear)

 std::cout<<"Queue is empty."<

else{

 front++;

 return queue[front];

}

判断队列是否为空

队列为空时,front和rear的值相等。因此,我们可以通过判断front和rear是否相等来判断队列是否为空。

if(front == rear)

 std::cout<<"Queue is empty."<

完整代码示例:

#include

int queue[100];

int front = -1;

int rear = -1;

void enqueue(int element){

 if(rear == 99)

  std::cout<<"Queue is full."<

  else{

  rear++;

  queue[rear] = element;

 }

}

int dequeue(){

 if(front == rear)

  std::cout<<"Queue is empty."<

  return -1;

  else{

  front++;

  return queue[front];

 }

}

bool isEmpty(){

 if(front == rear)

  return true;

  else

  return false;

}

int main() {

 enqueue(1);

 enqueue(2);

 enqueue(3);

 std::cout<<"Dequeued element: "< <

 std::cout<<"Dequeued element: "< <

 std::cout<<"Is queue empty? "<<(isEmpty() ? "Yes" : "No")<

 enqueue(4);

 std::cout<<"Dequeued element: "< <

 std::cout<<"Dequeued element: "< <

 std::cout<<"Is queue empty? "<<(isEmpty() ? "Yes" : "No")<

 return 0;

}

以上就是C++实现队列基本操作的代码示例,我们可以根据对于队列实现细节的理解,对于代码进行简单的修改得到适用于某些特殊场景的队列实现。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复