ページ 11

無題

Posted: 2009年11月10日(火) 17:43
by 鈴木
int dus;
for (ii=0; ii<RINGLENGTH; ii++){
que[ii] = 0; // キューの初期化
}
front = 0; //front, rear の初期値
rear = 0;
while(1){
inp = getchar(); // 標準入力からキャラクタを獲得
if (isdigit(inp)) {
EnQue(inp-48); // inp は char 型、 48 引くと真値になる
Print(que, RINGLENGTH, front, rear);
}
else {
switch (inp){
case (’d’): //DeQue 処理を行う
dus = DeQue();
if (dus != -1){
printf("Dequed=%d, ", dus);
Print(que, RINGLENGTH, front, rear);
break;
}
break;
case(’s’): // キューを表示する
Print(que, RINGLENGTH, front, rear);
break;
case(’q’): // キューを表示する
return 0;
}
}
}
}
/* ------------------------------
*
* EnQue
* e(enque) を入力すると r を追加してキューが伸びる
* input int r: 入力数
*
---------------------------------*/
void EnQue(int r)
{
// ここ関数がわかりません よろしくおねがいします
}
/* ------------------------------
*
* DeQue
* d(deque) を入力すると front にある数値を出力する
*
---------------------------------*/
int DeQue()
{
// ここの関数もわかりません よろしくお願いします
}
/* ------------------------------
*
* キューを表示する
* front から rear までのキューと
* (front, rear) の表示
---------------------------------*/
void Print(int* a, int n, int front, int rear)
{
int ii;
if (rear < front) rear = (rear + RINGLENGTH);
printf("Que=[ ");
for(ii=front; ii<rear; ii++){
printf("%d ", a[ii%RINGLENGTH]);
}
printf("], (front=%d rear=%d)\n", front, rear%RINGLENGTH);
}

Re:無題

Posted: 2009年11月10日(火) 20:49
by conio
とりあえず、"キュー"って何だと思いますか?
そこから分からないのであれば、"キュー"自体について把握すべきだと思います。