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

📄 ch3_2.c

📁 本内容为清华大学严蔚敏版数据结构部分算法实现代码
💻 C
字号:
#include <stdio.h>
#define QUEUE_SIZE 10                         /* 队列的大小 */
int ADDQ(int);
int DELETEQ(void);
int Q[QUEUE_SIZE];                          /* 声明队列为数组 */
int front=-1;                                    /* 队列的前端 */
int rear=-1;                                     /* 队列的後端 */
void main()	
{
  int loop=1;                                      /* 循环控制 */
  int select;                                      /* 选项设置 */
  int temp;                                    /* 存放输入数据 */
  while(loop)
  {
    printf("1.加入数据 2.删除数据 3.结束==> ");
    scanf("%d", &select);                        /* 读入选项 */
    switch(select)
    {
      case 1:                             /* 将输入数据加入队列 */
        printf("请输入要加入队列的数据==> ");
        scanf("%d", &temp);
        if(ADDQ(temp) == -1)
          printf("队列已满,无法加入此条数据!\n");
        break;
      case 2:                          /* 从队列中取出一条数据 */
        if((temp=DELETEQ()) == -1)
          printf("队列是空的.\n");
        else
          printf("队列取出的数据==> %d\n", temp);
        break;
      case 3:                                          /* 结束 */
        loop=0;
        break;
      default:                                     /* 选项错误 */
        printf("输入错误.\n");
        break;
    }
    printf("\n");
  }
                                           /* 输出队列剩余的数据 */
  if(front == rear)
      printf("队列中已无数据.\n");
  else
  {
    printf("队列剩余的数据==> ");
    while((temp=DELETEQ()) != -1)
      printf("%d ", temp);
	printf("\n");
  }
}
int ADDQ(int item)                                /* 加入数据 */
{
  if(rear >= QUEUE_SIZE-1)               /* 检查队列是否已满了 */
    return -1;
  rear++;                         /* 将rear指向数据加入的位置 */
  Q[rear]=item;                            /* 将数据存入队列中 */
}
int DELETEQ()                                    /* 删除数据 */
{
  if(front == rear)                      /* 检查队列是否为空的 */
    return -1;
  front++;                      /* 将front指向数据被删除的位置 */
  return Q[front];                       /* 将被删除的数据返回 */
} 

⌨️ 快捷键说明

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