⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 循环队列的程序.txt

📁 爱因斯坦的思考题 二叉树算法集 分解质因数新解 石子归并问题等有趣的C程序
💻 TXT
字号:
 


这是我们劳动的结晶,和大家共同分享.也希望各位高手多多指教.如果有更好的程序,请不要吝啬哦.

#include <stdio.h>
 

#define MAX 10
#define TRUE 1


typedef struct
{
  int data[MAX];
  int front, rear;
  int isNull;
}Sequeue;

void Init(Sequeue *sq)
{
  sq->front=0;
  sq->rear=0;
  sq->isNull=1;
}

int Ins(Sequeue *sq,int x)
{
   if((sq->front+1)%MAX ==(sq->rear+1)%MAX && sq->isNull!=1)
   {
     printf("\nFull squeue!New data in the old position!\n");

     sq->rear=(sq->rear+1)%MAX;
     sq->data[sq->rear]=x;
     sq->front=(sq->front+1)%MAX;
   }
   else
   {
     sq->rear=(sq->rear+1)%MAX;
     sq->data[sq->rear]=x;
     printf("\nData in\n");
  sq->isNull=0;
     return(TRUE);
   }

   sq->isNull=0;
   return x;
}

 


int Del(Sequeue *sq,int x)
{
   if(sq->rear==sq->front && sq->isNull==1)
   {
    printf("the queue is empty\n");
    return NULL;
   }
   else
   {
    if((sq->rear)%MAX==(sq->front+1)%MAX)
  sq->isNull=1;
 sq->front=(sq->front+1)%MAX;
    x= sq->data[sq->front];
    printf("\nData out\n");
    return(x);
   }
}

 

int Print(Sequeue *sq)
{
   int k;


   if(sq->rear==sq->front && sq->isNull==1)
   {
    printf("the queue is empty\n");
    return NULL;
   }
   else
   printf("The sequeue is:\n");


    k=sq->front;
    do
    {
     k++;
     k=k%MAX;
     printf("-%d-",sq->data[k]);
    }while(k!=sq->rear);
  return 1;
}

 

main()
{


  Sequeue *head=(Sequeue*)malloc(sizeof(Sequeue));
  int c,x;

  clrscr();
  Init(head);
   
  do
  {
   printf("\n**********\nPlease select a number to input:\n1 insert a number\n2 delete a number\n3 print the squeue\n4 quit the program\n**********\n");
   c=getch();
   switch(c)
   {    case'1':
              printf("\nPlease Enter a number\n");
              scanf("%d",&x);
              Ins(head,x);
              break;


       case '2':
              Del(head,x);
              break;
       case'3':
              Print(head);
              break;
   }
  }while(c!='4');
  free(head);
  
} 


 

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -