fork download
  1. #include <stdio.h>
  2. int head,tail;
  3. #define SIZE 5
  4. int kyu[SIZE];
  5. void enkyu(int value);
  6. int dekyu(void);
  7.  
  8. int main(void){
  9.  
  10. head=0;
  11. tail=0;
  12.  
  13. enkyu(22);
  14. enkyu(44);
  15. enkyu(7);
  16. dekyu();
  17. dekyu();
  18.  
  19. for(int i=0;i<SIZE;i++){
  20. printf("キュー[%d]=%d\n",i,kyu[i]);
  21. }
  22. return 0;
  23. }
  24.  
  25. void enkyu(int value){
  26. if(head==(tail+1)%SIZE){
  27. printf("キューの中身は満杯です");
  28. }
  29. else{
  30. kyu[tail]=value;
  31. tail++;
  32. }
  33. tail=tail%SIZE;
  34. }
  35.  
  36. int dekyu(void){
  37. int value;
  38.  
  39. if(head==tail){
  40. printf("キューの中身は空で取り出せませんでした");
  41. return 0;
  42. }
  43. else{
  44. value=kyu[head];
  45. head=(head+1)%SIZE;
  46. }
  47.  
  48. return value;
  49. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
キュー[0]=22
キュー[1]=44
キュー[2]=7
キュー[3]=0
キュー[4]=0