| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2396 人关注过本帖
标题:求指教谢谢,建立循环队列并输出,插入元素并输出队列
只看楼主 加入收藏
晨簌馨
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
求指教谢谢,建立循环队列并输出,插入元素并输出队列
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10
typedef struct
{
  int elem[MAXSIZE];
  int front;
  int rear;
}Queue;
void inputqueue(Queue Q,int elem[]);
void outputqueue(Queue Q,int elem[]);
int insertqueue(Queue Q,int elem[],int x);
int main()
{
   int x;
   int elem[MAXSIZE];
   Queue Q;
   Q.front=Q.rear=0;
   inputqueue(Q,elem);
   outputqueue(Q,elem);
   insertqueue(Q,elem,x);
   return 0;
}
void inputqueue(Queue Q,int elem[])
{
   int i=0;
   printf("input queue element<eng of -99>:");
   do
   {
     scanf("%d",&elem[i]);
     if(elem[i]==-99)
          break;
         i++;
   }while(i<MAXSIZE);
}
void outputqueue(Queue Q,int elem[])
{
    int i;
    printf("\n输出:");
    for(i=0;i<MAXSIZE;i++)
    {
       if(elem[i]==-99)
         break;
           printf("%d ",elem[i]);
    }
    printf("\n");
}
int insertqueue(Queue Q,int elem[],int x)
{
     int k;
     int i;
     if((Q.rear+1)%MAXSIZE==Q.front)
    printf("\n队列满!");
     else
     {
       printf("insert?1/0 ");
       scanf("%d",&k);
       if(k==1)
       {
           printf("\ninput insert element:");
           scanf("%d",&x);
        Q.elem[Q.rear]=x;
            Q.rear=(Q.rear+1)%MAXSIZE;
                     printf("\ninsert successful!");
                  printf("\nqueue element are:");
           for(i=0;i<MAXSIZE+1;i++)
          {
               
            if(elem[i]==-99)
          break;
          printf("%d ",elem[i]);
           }
                printf("\n");
        }
      
      }
   return 1;
}
想要把X插入队列并输出可是输不进去输出的队列不包含X
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include return 元素 
2015-05-02 19:50
林月儿
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:20 
#include<stdio.h>
#define MAXSIZE 10
typedef struct
{
    int count;
    int elem[MAXSIZE];
    int front;
    int rear;
}Queue;
bool insertqueue(Queue &Q,int data){
    if(Q.count==MAXSIZE)
    return false;
    Q.elem[Q.rear]=data;
    Q.rear=(Q.rear+1)%MAXSIZE;
    Q.count++;
    return true;
}
void outputqueue(Queue Q)
{
    int i;
    printf("\n输出:");
    for(i=Q.front;i<Q.rear;i++)
        printf("%d ",Q.elem[i]);
    printf("\n");
}

void inputqueue(Queue &Q)
{
   int i=0,data;
   printf("input queue element<eng of -99>:");
   do
   {
     scanf("%d",&data);
     if(data==-99)
          break;
    insertqueue(Q,data);
         i++;
   }while(i<MAXSIZE);
}
 
int main()
{
    int x;
   Queue Q;
   Q.front=Q.rear=0;
   inputqueue(Q);
   outputqueue(Q);
   printf("请输入插入队列的数");
   scanf("%d",&x);
   insertqueue(Q,x);
   outputqueue(Q);
   return 0;
}

剑栈风樯各苦辛,别时冰雪到时春
2015-05-06 13:08
快速回复:求指教谢谢,建立循环队列并输出,插入元素并输出队列
数据加载中...
 
   



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

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