配列で実現した待ち行列

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
mosaa

配列で実現した待ち行列

#1

投稿記事 by mosaa » 16年前

学校の課題なんですけど、
キュー(待ち行列)の操作なんですけど、
ちょっと初歩的なところがわからなくなりました。
途中まで考えましたが、
#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 が残るのではないでしょうか?

kazuoni

Re:キャラクターを動かすプログラム

#2

投稿記事 by kazuoni » 16年前

マルチはまずいです。。
http://detail.chiebukuro.yahoo.co.jp/qa ... 1425607299

規約を読んでから、再度質問をしてください。
(新しいスレは立てなくてよいと思いますが。)

閉鎖

“C言語何でも質問掲示板” へ戻る