キュー(待ち行列)の操作なんですけど、
ちょっと初歩的なところがわからなくなりました。
途中まで考えましたが、
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
typedef long ELEM;
#define QUEUE_SIZE 100
ELEM queue[QUEUE_SIZE];
int front;
int rear;
#define next(a) (((a+1)%QUEUE_SIZE)
void error(char *s)
{
fprintf(stderr,s);
exit(1);
}
void init()
{
front =rear=0;
}
void show(){
while()
/*ここで、while文を使用して frontからrearまでを表示したい。
}
void main(){
enqueue(10);
show();
enqueue(32);
show();
enqueue(5);
show();
dequeue();
show();
enqueue(10);
show();
dequeue();
show();
dequeue();
show();
void enqueue(ELEM x)
{
if(next(rear)==front)
error("待ち行列がフルなので要素が入れられません\n");
queue[rea[/url]=x;
rear=next(rear);
}
ELEM dequeue()
{
ELEM x;
if(front == rear)
error("待ち行列が空なので要素を取り出せません\n");
x=queue[front];
front=next(front);
return x;
}
int empty()
{
return front == rear;
}
という風です。エラーが多々あります。queueの中身を表示するshow()関数が作成できると一番ですね。
分かりにくい部分があれば言ってください。
最終的な結果は多分、10 が残るのではないでしょうか?