| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:谁能帮我修改一下这段代码,入队列之后打印出来不一样
只看楼主 加入收藏
caoqu116562
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-3-14
结帖率:100%
收藏
 问题点数:0 回复次数:0 
谁能帮我修改一下这段代码,入队列之后打印出来不一样
#include<stdio.h>
#define MAXSIZE 100
typedef struct seqqueue
{
    int data[MAXSIZE];
    int front;
    int rear;
}seqqueue;

void Initseqqueue(seqqueue &q)   //循环队列初始化
{
    q.front =q.rear=-1;
    printf("初始化成功!\n");
}

int enqueue(seqqueue &q,int e)     //数据元素e入队列
{
    if((q.rear+1)%MAXSIZE==q.front)
    {
        printf("循环队列满!\n");
        return 0;
    }
    else
    {   q.rear=(q.rear+1)%MAXSIZE;
        q.data[q.rear]=e;
        
   
        return 1;
    }
}

int dequeue(seqqueue &q,int e)   //数据元素出队列,出队列元素暂存储于e中
{
    if(q.rear!=q.front)
    {
        e=q.data [q.front ];
        q.front =(q.front +1)%MAXSIZE;
            
        return 1;
    }
    else
    {
        printf("出队列失败!\n");
        return 0;
    }
}
void print(seqqueue &q)
{
    for(int i=q.front;i<=q.rear;i++)
        printf(" %d",q.data[i]);
   
}
int queuelength(seqqueue &q)
{  
    return (q.rear-q.front+MAXSIZE)%MAXSIZE;
}
void main()
{
    int m,n,e,choose,x;
    seqqueue q;
    Initseqqueue(q);
    printf("请输入入队列的元素个数和元素:");
    scanf("%d",&m);
    getchar();
    for(int i=0;i<m;i++)
    {
        
    scanf("%d",&n);
    enqueue(q,n);
    }
    printf("入队列后,队列中的元素为:");
    print(q);
    printf("%d\n入队列成功!\n");
    printf("队列的长度为:");
    printf("%d\n",queuelength(q));
    printf("出队列为:");
    dequeue(q,e);
    print(q);
    printf("\n出队列成功!\n");
   
   while(1)
   {
    printf("请选择:1->入队   2->出队  3->长度 \n ");
    scanf("%d",&choose);
    if(choose==1)
    {      
        printf("请输入数:");
        scanf("%d",&x);
        enqueue(q,x);
        print(q);
    }
    else if(choose==2)
    {   
        printf("请输入数:");
         scanf("%d",&e);
          dequeue(q,e);
               print(q);
    }
    else if(choose==3)
    {
        printf("当前长度为:");
        printf("%d\n",queuelength(q));
    }
    else
    {
        printf("输入错误!\n");
        break;
    }
   }
}
搜索更多相关主题的帖子: 打印 元素 return include void 
2012-06-08 15:00
快速回复:谁能帮我修改一下这段代码,入队列之后打印出来不一样
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020836 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved