顺序队列的基本操作

Posted dkbob

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序队列的基本操作相关的知识,希望对你有一定的参考价值。

顺序队列的实现基本操作,思考画图辅助代码实现

 

#include<iostream>
using namespace std;

#define maxsize 4

//顺序实现队列
//循环储存空间避免溢出错误//队列多用链表表示

typedef struct quee
{
    int* base;//指向int形数据指针
    int front;//对头元素位置
    int rear;//对尾元素位置
}quee;

void initialquee(quee& q)

{
    q.base = new int[maxsize];
    if (q.base)
    {
        cout << "队列初始化成功" << endl;
        q.front = q.rear = 0;
    }
    else
        cout << "队列初始化失败" << endl;
}//初始化队列

void insertquee(quee& q)
{

    int t;
    if (q.rear + 1 % maxsize == q.front)
    {
        return;//队列满了
    }
    else
    {
        cout << "请输入入队的元素" << endl;
        cin >> t;
        q.base[q.rear] =t ;
        q.rear = (q.rear + 1) % maxsize;
    }
}//入队列操作


void deletequee(quee& q)
{
    if (q.front == q.rear)
    {
        cout << "队列出空了不能再出队列" << endl;
    }
    else
    {
        cout << "出队列的元素为" << q.base[q.front] << endl;
        q.front = ++q.front % maxsize;


        cout << "队列非空" << endl;

    }
}//出队列操作
int main()
{
    quee q;
    return 0;
}

以上是关于顺序队列的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

数据结构学习笔记——队列的基本知识和顺序存储结构实现队列

(王道408考研数据结构)第三章栈和队列-第二节:队列基本概念顺序栈和链栈基本操作

求一个完整的C程序验证顺序存储结构--循环队列的基本操作

顺序队列的基本操作

线性表--队列

线性表--队列