数据结构队列

数据结构队列

队列也是一种操作受限的限制表,其仅允许在表的一端进行插入,在表的另外一边进行删除 ,就像我们平时排队一样,总是后面插入,前面的人买好东西离开。

简单的基本数据队列实现 c/c++实现

Quene *quene;
#define Max_Size=5;
struct Quene
{
    int data[Max_Size];
    int front;             //设置出队数值
    int rear;              //设置进队数值
};
void creatQuene()
{
    quene=(*Quene)malloc(sizeof(Quene));
    quene->front=quene->rear=-1;
}
void bool addQuene(int data)
{
    if(quene->rear==Max_Size-1)
    {
        return false;
    }
    else
    {
       quene->rear++;
       quene->data[quene->rear]=data;
       return true;
    }
}

通过单链表形成队列

通过一个队列结构体,将数据串入其中,刚开始的时候队首和队末都为空,通过尾插法,将数据插入,同时队首指针记录着初始指针位置 ,便于删除,同样可以进行大规模的存储。

Node *node;
Quene *quene;
struct Quene  //具体的数据结构体
{
    int data;
    Quene *next;
};
struct Node    //实现的队列结构体
{
    Quene *rear;
    Quene *front;
};
void creatQuene()
{
    node=(*Node)malloc(sizeof(Node));
    node->rear=NULL;
    node->front=NULL;
}
void bool addQuene(int data)
{
    quene=(*Quene)malloc(sizeof(Quene));
    quene->data=data;
    quene->next=NULL;
    if(node->rear==NULL)    //如果是第一次插入数据,将队首和队末指针指向同一个地址 
    {
       node->front=node->rear=quene;
    }
    else                             //如果不是第一次插入,尾插法,将quene插入,同时将node-                             //>rear后移,便于
    {
        node->rear->next=quene;
        node->rear=quene;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值