注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

告别迷茫

梦想与现实的差距,就是我们生活的意义。因为我们有差距,我们才会一直积累,在努力。

 
 
 

日志

 
 

链式队列的实现  

2014-10-09 15:21:27|  分类: 数据结构---严老 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

结构

 

 typedef struct QLnode
{
 QLnode *next;
 int data;
}QLnode,*Q;
struct LinkQ
{
 Q front;
 Q tail;
};

bool IntiQ(LinkQ &l)
{
 Q p;
 p=(Q)malloc(sizeof(QLnode));
 if(!p)
 {
  return false;
 }
 l.front=l.tail=p;
 return true;
 p->next=NULL;//这里不要忘记啦,不然后果很严重的啊;
}


bool DestroyQ(LinkQ &l)
{
 Q p,q;
 p=q=l.front;
 while(p)
 {
  p=p->next;
  free(q);
  q=p;
 }
}
bool ClearQ(LinkQ &L)
{
 Q p,q;
 p=L.front->next;
 L.front=L.tail;
 L.front->next=NULL;//理解我们的清空的意思??
 while(p)//逐步的清空我们的节点;
 {
  q=p;
  p=p->next;
  free(q);
 }
 return true;
}


bool IsEmpty(LinkQ &l)
{
 if(l.front==l.tail)
 {
  return true;
 }
 return false;
}
int LengthQ(LinkQ &l)
{
 int i=0;
 Q p;
 p=l.front;
 while(p!=l.tail)//因为我们的front 为空的节点啊!
 {
  i++;
  p=p->next;

 }
 return i;
}


bool GetHead(LinkQ l, int &e)
{
 if(!IsEmpty(l))
 {
  return false;
 }
 Q p;
 p=l.front->next;//记住我们的这句话啊,第一头节点没得数据,2,我们的数据是从最后的尾巴加入的啊;
 e=p->data;
 return true;
}



bool InsertQ(LinkQ &l,int e)//注意修改我们的尾指针啊!
{
 Q p=(Q)malloc(sizeof(QLnode));
 p->next=NULL;//这个步骤,容易忽视!
 l.tail->next=p;//把P的结果  赋值给我们的l.tail->next;
 //p=l.tail->next;这个错误怎么可以烦呢!l.tail->next=null   null 赋值给我们的p?
 p->data=e;
 l.tail=p;//修改我们的尾指针;
 return true;
}
bool DeleteQ(LinkQ &l)//删除我们的队尾的元素!
{
 /*
 1.是否为空
 2.是否只有一个元素,如果删掉之后的话,尾指针就乱指啦,怎么办啊???
 3.l.front 没有保存元素啊!
 */
 if(l.front==l.tail)
 {
  return false;
 }
 Q p;
 p=l.front->next;
 l.front->next=p->next;
 if(l.tail==p)//只有一个元素的时候,我们就得特殊的考虑哈啊!
 {
  l.tail=l.front;
 }
 free(p);
 return true;
}

bool TraverseQ(LinkQ l,void(*vi)(int &e))
{
 Q p;
 p=l.front->next;
 while(p)
 {
  vi(p->data);
  p=p->next;
 }
 return true;
}





  评论这张
 
阅读(3)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017