数据结构(循环队列子系统:c实现)
来源:互联网 发布:淘宝淘宝全屏导航条 编辑:程序博客网 时间:2024/05/16 18:27
#include<stdio.h>//#include<stdlib.h>typedef int datatype;//把int 改名为 datatype#define MAXLEN 10//定义MAXLEN==10#define N sizeof(loopqueue)//一个结点所占的字节数为Ntypedef struct//定义循环队列结构体结构{datatype data[MAXLEN];int front,rear;//int n;}loopqueue;//置空队void Emptyqueue(loopqueue *q){q->front=q->rear=MAXLEN-1;}//进队,循环队列进队int Enterqueue(loopqueue *q){int x=0;printf("请输入,所要 进队 的“整数”:\n");while(1){printf("\t进队整数为:\t");scanf("%d",&x);/*if(!scanf("%d",&x)){printf("\t\t\t输入的“元素“种类错误,请重新输入!!!\n");continue;}else*/ if(q->front==(q->rear+1)%MAXLEN){printf("\t\t\t循环队列已满,不能进队!!!\n");return 0;}else if(x==0){break;}else{q->rear=(q->rear+1)%MAXLEN;q->data[q->rear]=x;//q->n++;printf("\t\t\t入队成功!\n");}}}//出队,队内元素出队,先进先出void Putqueue(loopqueue *q){int m=0;int x;//m=q->n;if(q->front==q->rear){printf("\t\t\t循环队列 已空 ,不能出队!!!\n");}else{//printf("出队的元素为: ");//printf("%d",q->data[q->rear]);q->front=(q->front+1)%MAXLEN;x=q->data[q->front];//m--;;printf("\t\t\t出队成功!\t");//printf("出队的元素为: ");//printf("%d",q->data[q->rear]);//q->n--;}}//求队中元素个数void Lengthqueue(loopqueue *q){//int k;printf("\t队中元素的个数为:\t");//printf("%d",q->n);//printf("\t");printf("%d",(q->rear-q->front+MAXLEN)% MAXLEN);}// 显示,队内元素的显示int ShowQueue(loopqueue *q) { int k=q->front; if (k==q->rear) { printf("\n\t\t 此队列为空! \n"); return 0; } printf("\n\t\t 此队列元素为:"); do { k=(k+1)%MAXLEN; printf("%4d",q->data[k]); } while (k!=q->rear); printf("\n"); return 0;}int main(){int a=0;loopqueue q;Emptyqueue(&q);while(1) {printf(" \n\t\t\t\t\t\t循环队列系统子系统\n");printf(" \t\t***************************************************\n");printf(" \t\t* 1------进 队 *\n"); printf(" \t\t* 2------出 队 *\n");printf(" \t\t* 3------显 示 *\n");printf(" \t\t* 4------求队中元素个数 *\n");printf(" \t\t* 0------返 回 *\n");printf(" \t\t***************************************************\n");printf(" 请输入(0-4)选项:\n"); printf("\n请输入所要达到第几号功能:\t");//fflush(stdin);scanf("%d",&a); if(a == 1) Enterqueue(&q); else if(a == 2) Putqueue(&q); else if(a == 3) ShowQueue(&q); else if(a == 4) Lengthqueue(&q); else if(a == 0) return 0; else{ printf("!!!!!输入有误,请重新输入!!!!!\n");} }}
1 0
- 数据结构(循环队列子系统:c实现)
- 数据结构(C语言)实现循环队列
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 【数据结构】循环队列的实现(c++)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构:循环队列(C语言实现)
- 数据结构(C实现)------- 顺序队列(非循环队列)
- 数据结构循环队列斐波拉契数列的实现(c语言)
- 数据结构的C实现_循环队列
- 数据结构循环队列的实现c程序
- 数据结构C语言实现之循环队列
- Java线程池的分析和使用
- Java工程构建工具ANT与Maven的区别
- 快速排序
- Ajax请求时session失效,统一处理跳转到登陆页
- 对于MyEclipse整合git上的maven项目导入
- 数据结构(循环队列子系统:c实现)
- hdu1754(线段树)
- 探究Mybatis拦截器原理
- Redis学习日志【三、jedis+struts2】
- ajax原理及xmlhttpRequest
- filter过滤器
- Android Dialog Style
- 程序员那点事
- 冒泡排序