带结构的循环队列

时间:2017-12-03 01:31:43

标签: c queue circular-buffer

我尝试编写循环列表但我必须向列表的每个元素添加多个信息。

我的队列定义为

typedef struct queue {
    int data[maxsize];
    int f,r;
}myQueue;
myQueue q

我需要每个元素都是像

这样的结构
typedef struct info{
    int number1;
    int number2;
    int number3;
    int number4;
} Element;

我对如何做到这一点有任何想法?

编辑: 这也是我的入队功能

void enqueue(myQueue *q,int num)
{
    if(empty(q)==1){
      q->f=0;
      q->r=0;
     }
     else{
      q->r=(q->r+1)%maxsize;
      }
    q->data[q->r]=num;
}

出队错误

error: incompatible types when assigning to type 'int' from type 'Element {aka struct info}'
     del_num=q->data[q->f];

0 个答案:

没有答案