| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1297 人关注过本帖
标题:求大神指教,队列的入列和出列,我这程序哪出问题了!!!!!
取消只看楼主 加入收藏
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
求大神指教,队列的入列和出列,我这程序哪出问题了!!!!!
#include<stdio.h>
#define size 100
typedef struct QNode{
  int   data;
  struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
   QueuePtr front;
   QueuePtr rear;
   int data[size];
}LinkQueue;
LinkQueue InitQueue(int n)
{
          LinkQueue Q;int i,elem;
          Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
          if(!Q.front)
          printf("存储分配失败");
          Q.front->next=NULL;
          for(i=0;i<n;i++)
          {scanf("%d",&elem);
           Q.data[i]=elem;}
          return Q;
}
void EnQueue(LinkQueue Q,int e)
{
          QueuePtr p;
          p=(QueuePtr)malloc(sizeof(QNode));
          if(!p)
          printf("存储分配失败");
          p->data=e;p->next=NULL;
          Q.rear->next=p;
          Q.rear=p;
}
int  DeQueue(LinkQueue Q)
{
          QueuePtr p;int e;
          if(Q.front==Q.rear) return 0;
          p=Q.front->next;e=p->data;
          Q.front->next=p->next;
          if(Q.rear==p)
          Q.rear=Q.front;
          free(p);
          return 1;
}
LinkQueue QueueTraverse(LinkQueue Q,int n)
{
   int i;
   for(i=0;i<n;i++)
    printf("%d\t",Q.data[i]);
    return Q;
}
int main()
{
    int e,s;LinkQueue Q;
    printf("构造一个队列:\n");
    Q=InitQueue(5);
    printf("插入一个元素:\n");
    EnQueue(Q,12);
    printf("插入新元素后队列为:\n");
    QueueTraverse(Q,6);
    printf("\n删除队头元素:\n");
    s=DeQueue(Q);
    if(!s)
    printf("队列为空\n");
    else
    printf("删除成功\n");
    QueueTraverse(Q,4);
    getch();
    return 0;
}
搜索更多相关主题的帖子: next include 
2013-04-05 19:30
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
收藏
得分:0 
回复 2楼 好聚好散
没赋值????这不是赋了吗?
LinkQueue InitQueue(int n)
{
          LinkQueue Q;int i,elem;
          Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
          if(!Q.front)
          printf("存储分配失败");
          Q.front->next=NULL;
          for(i=0;i<n;i++)
          {scanf("%d",&elem);
           Q.data[i]=elem;}
          return Q;
}
2013-04-05 22:01
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
收藏
得分:0 
回复 4楼 azzbcc
应该是链队列吧,反正不是循环的
2013-04-05 23:16
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
收藏
得分:0 
回复 6楼 azzbcc
那...那..那..那不弄数组怎么初始化。。。。。。是我写的啊
大神可否留个Q,以后求指教。。。

[ 本帖最后由 qinj13178952 于 2013-4-5 23:40 编辑 ]
2013-04-05 23:29
qinj13178952
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2013-3-22
收藏
得分:0 
回复 8楼 azzbcc
大神。。。。能否留个Q?以后估计很多问题要问你。。。。
2013-04-06 22:38
快速回复:求大神指教,队列的入列和出列,我这程序哪出问题了!!!!!
数据加载中...
 
   



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

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