| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:链式队列的问题
只看楼主 加入收藏
wsliuyunming
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:54
专家分:143
注 册:2010-9-26
结帖率:100%
收藏
 问题点数:0 回复次数:2 
链式队列的问题
程序代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "malloc.h"
#include "string.h"
typedef struct node
{ char s[10];
  struct node *next;

 }linknode;

typedef struct
{  linknode *front;
   linknode *rear;

 }Qnode;

 
  
int chushihua(Qnode * q)                               //初始化队列
 { q->front=(linknode *)malloc(sizeof(linknode));
   if(q->front!=NULL)
    {  q->rear=q->front;
         q->front->next=NULL;
            return 1;
     }
      else
          return 0;
  } 


int fuzhi(Qnode *Q)            //入列
{ linknode *s;
    s=(linknode * )malloc(sizeof(linknode));
     if(s!=NULL)
     { strcpy(s->s,"wsliuyun");
         s->next=NULL;
         Q->rear->next=s;
         Q->rear=s;
         return 1;
      }
     else
       return 0;
}
int  chulie(Qnode *s)          //出列
{  char ch[10];
     linknode *p;
     if(s->front==s->rear)
     return 0;
     p=s->front->next;
     s->front->next=p->next;
     if(s->rear==p)
     s->rear=s->front;
     strcpy(ch,p->s);
     printf("%s",ch);
     free(p) ;
     return 1;
   

 }
void main()

{ Qnode *Q;
    chushihua(Q);
    fuzhi(Q);
    chulie(Q);
}  
      运行出现错误提示 该内存不能为“written”. 帮帮忙  谢谢。。。
搜索更多相关主题的帖子: 链式 队列 
2010-10-13 22:33
wsliuyunming
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:54
专家分:143
注 册:2010-9-26
收藏
得分:0 
程序代码:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "malloc.h"
#include "string.h"
typedef struct node
{char s[10];

 struct node *next;

 }linknode;

 typedef struct
  {linknode *front;
    linknode *rear;}qqq;
  qqq *kaikongjian()
{ qqq *s;
  s=(qqq *)malloc(sizeof(qqq));
  return s;

} 

 
int www(qqq * q)

 { q->front=(linknode *)malloc(sizeof(linknode));
   if(q->front!=NULL)
    {  q->rear=q->front;
         q->front->next=NULL;
  return 1;}
   else
        return 0;

 }
int eee(qqq *Q)
{linknode *s;
    s=(linknode * )malloc(sizeof(linknode));
     if(s!=NULL)
     {strcpy(s->s,"wsliuyun");
         s->next=NULL;
         Q->rear->next=s;
         Q->rear=s;
         return 1;
     }
     else
       return 0;
       }
int  rrr(qqq *s)
{  char ch[10];
    linknode *p;
    if(s->front==s->rear)
    return 0;
     p=s->front->next;
     s->front->next=p->next;
     if(s->rear==p)
     s->rear=s->front;
     strcpy(ch,p->s);
     printf("%s",ch);
     free(p) ;
     return 1;
   
    }
void main()

{qqq *Q;
  Q=kaikongjian();
    www(Q);
    eee(Q);
    rrr(Q);
}
  自己解决了。。。原来Q没有确定它所指向的地址 要先开辟一个Qnode大小的空间 让Q指向它。
2010-10-14 12:47
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
支持下
2010-10-14 18:12
快速回复:链式队列的问题
数据加载中...
 
   



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

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