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

📄 zhan.c

📁 C语言的各种操作(链表
💻 C
字号:
#include "stdio.h"
#include "math.h"
#define QueueSize 50

typedef int QueueData;
typedef struct {
    QueueData data[QueueSize];
    int rear, front;
}SeqQueue;

int QueueFull(SeqQueue *Q){
  return Q->rear==QueueSize;
}

int QueueEmpty(SeqQueue *Q){
  return Q->front==Q->rear;
}
int InitQueue(SeqQueue *Q){
     Q->front=Q->rear=-1;
}

int EnQueue(SeqQueue *Q,QueueData x){
  if(QueueFull(Q))
    return 0;
  if(Q->rear==-1)
    {Q->rear=0;
     Q->front=0;
     Q->data[Q->rear]=x;
     Q->data[Q->front]=x;
    }
  else
    Q->data[Q->rear]=x;
  Q->rear++;
  return 1;
}

int DeQueue(SeqQueue *Q){
  int x;
  if(QueueEmpty(Q))
    return 0;
  x=Q->data[Q->front++];
  return x;
}

int Insert(SeqQueue *Q){
  int x,number,i;
  printf("Please input the number of elem:");
  scanf("%d",&number);
  printf("Please input the elems:");
  for(i=0;i<number;i++)
    {scanf("%d",&x);
     EnQueue(Q,x);
    }
}

int creat(SeqQueue *Q){
  int x,number,i;
  InitQueue(Q);
  printf("Please input the number of elem:");
  scanf("%d",&number);
  printf("Please input the elems:");
  for(i=0;i<number;i++)
    {scanf("%d",&x);
     EnQueue(Q,x);
    }
}

int output(SeqQueue *Q){
  int i;
  printf("Result:");
  for(i=Q->front;i<Q->rear;i++)
    printf("%d ",Q->data[i]);
  printf("\n");
}

main(){
  SeqQueue Q;
  int t;
  while(1)
    {
     printf("0.creat  ");
     printf("1.insert  ");
     printf("2.delete  ");
     printf("3.exit\n");
     scanf("%d",&t);
     switch(t)
       {
        case 0:clrscr();creat(&Q);clrscr();output(&Q);break;
        case 1:Insert(&Q);output(&Q);break;
        case 2:printf("Q->front=%d ",DeQueue(&Q));output(&Q);break;
        case 3:exit(0);break;
        default:printf("error\n");
       }
     }
}

⌨️ 快捷键说明

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