制作一个菜单,用队列实现基本操作
来源:互联网 发布:springboot修改端口 编辑:程序博客网 时间:2024/04/28 20:36
#include<stdio.h>
#include <windows.h>
#include<string.h>
#define Maxsize 10
int data[10]={0};
int front=0;
int rear=0;
int count=0;
void Menu();
int Queuein();
int Queueout();
int Traverse();
int Empity();
int Queuefront();
void Menu()
{
printf("环队基本功能菜单\n");
printf("==========\n");
printf("1数据进队\n");
printf("2数据出队\n");
printf("3显示数据(遍历)\n");
printf("4判断队空\n");
printf("5读取队头\n");
printf("6求链队长度\n");
printf("7结束程序\n");
printf("==========\n");
}
int Queuein()
{
if(count>=Maxsize)
{
printf("环队数据已经满了");
return 0;
}
printf("请输入你要入队的数据:");
scanf("%d",&data[rear]);
printf("进队操作成功!\n");
rear=(rear+1)%Maxsize;
count++;
return 1;
}
int Queueout()
{
int num,i;
if(count==0)
{
printf("队中数据为空!\n");
return 0;
}
printf("请输入要出队列的次数:");
scanf("%d",&num);
if(num>count)
{
printf("输出的次数大于队列数!\n");
return 0;
}
printf("出队的数据为:");
for(i=0;i<num;i++)
{
printf(" %2d ",data[front]);
front=(front+1)%Maxsize;
count--;
}
printf("\n");
return 0;
}
int Traverse()
{
int i;
if(count==0)
{
printf("队列内为空!\n");
return 0;
}
printf("环队数据为:");
for(i=front;i<count+front;i++)
{
printf("%3d",data[i%Maxsize]);
}
printf("\n");
return 1;
}
int Queuefront()
{
if(count==0)
{
printf("环队为空\n");
return 0;
}
else
printf("队头数据为:%d\n",data[front]);
return 1;
}
int Empity()
{
if(count<=0)
{
printf("环队为空!\n");
return 0;
}
printf("环队不为空!\n");
return 1;
}
int main()
{
int selection;
while(1)
{
Menu();
printf("请输入您的选择:\n");
scanf("%d",&selection);
fflush(stdin);
switch(selection)
{
case 1:Queuein();break;
case 2:Queueout();break;
case 3:Traverse();break;
case 4:Empity();break;
case 5:Queuefront();break;
case 6:printf("环队长度为:%d\n",count);break;
case 7:exit(0);break;
default:printf("输入错误\n");break;
}
system("pause");
system("cls");
}
return 0;
}
#include <windows.h>
#include<string.h>
#define Maxsize 10
int data[10]={0};
int front=0;
int rear=0;
int count=0;
void Menu();
int Queuein();
int Queueout();
int Traverse();
int Empity();
int Queuefront();
void Menu()
{
printf("环队基本功能菜单\n");
printf("==========\n");
printf("1数据进队\n");
printf("2数据出队\n");
printf("3显示数据(遍历)\n");
printf("4判断队空\n");
printf("5读取队头\n");
printf("6求链队长度\n");
printf("7结束程序\n");
printf("==========\n");
}
int Queuein()
{
if(count>=Maxsize)
{
printf("环队数据已经满了");
return 0;
}
printf("请输入你要入队的数据:");
scanf("%d",&data[rear]);
printf("进队操作成功!\n");
rear=(rear+1)%Maxsize;
count++;
return 1;
}
int Queueout()
{
int num,i;
if(count==0)
{
printf("队中数据为空!\n");
return 0;
}
printf("请输入要出队列的次数:");
scanf("%d",&num);
if(num>count)
{
printf("输出的次数大于队列数!\n");
return 0;
}
printf("出队的数据为:");
for(i=0;i<num;i++)
{
printf(" %2d ",data[front]);
front=(front+1)%Maxsize;
count--;
}
printf("\n");
return 0;
}
int Traverse()
{
int i;
if(count==0)
{
printf("队列内为空!\n");
return 0;
}
printf("环队数据为:");
for(i=front;i<count+front;i++)
{
printf("%3d",data[i%Maxsize]);
}
printf("\n");
return 1;
}
int Queuefront()
{
if(count==0)
{
printf("环队为空\n");
return 0;
}
else
printf("队头数据为:%d\n",data[front]);
return 1;
}
int Empity()
{
if(count<=0)
{
printf("环队为空!\n");
return 0;
}
printf("环队不为空!\n");
return 1;
}
int main()
{
int selection;
while(1)
{
Menu();
printf("请输入您的选择:\n");
scanf("%d",&selection);
fflush(stdin);
switch(selection)
{
case 1:Queuein();break;
case 2:Queueout();break;
case 3:Traverse();break;
case 4:Empity();break;
case 5:Queuefront();break;
case 6:printf("环队长度为:%d\n",count);break;
case 7:exit(0);break;
default:printf("输入错误\n");break;
}
system("pause");
system("cls");
}
return 0;
}
阅读全文
0 0
- 制作一个菜单,用队列实现基本操作
- 制作一个菜单 ,用栈实现一些基本操作
- 用Canvas制作一个简单的操作菜单
- 数据结构 编写一个类,用两个栈实现队列,支持队列的基本操作(add 、poll、peek)
- 队列基本操作的实现
- c++ 队列基本操作实现
- 用队列实现一个栈的操作
- 队列的基本操作(用数组实现)
- c实现队列的基本操作
- C++队列实现的基本操作
- 栈和队列的基本操作实现
- C#实现队列的基本操作
- Python实现基本数据结构---队列操作
- 用单链表的基本操作实现链队列
- 循环队列的基本操作实现
- 单链队列的基本操作实现
- 顺序队列的基本操作实现c++
- 链式队列的基本操作实现c++
- p60-4.3(2)
- Linux搭建自己的IDEA License Server
- 简单逻辑
- 一个包括多个知识点的框架
- boot
- 制作一个菜单,用队列实现基本操作
- PhantomJs maven配置
- 10个明知道是科学,但总是想用魔法世界来解释的瞬间
- 阐述ajax的工作机制及其优缺点
- 【python爬虫】动态加载页面的解决办法(以ins为例)
- linux下使用mysq Connector/C连接mysql服务端过程
- openshift/origin学习记录(13)——集群节点扩容(Master/node/etcd)
- 我暗恋了6周的帅哥,竟然是一个AI机器人...
- 美媒全球大学排名:清华超麻理跃居计算机专业第一