标题:C++实现链队列的基础操作
只看楼主
shitainong
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2012-7-6
结帖率:0
 问题点数:0 回复次数:2 
C++实现链队列的基础操作
  空队列:就是头指针和尾指针指向同一个空间。

  插入元素,从队尾进,处理一下队尾,然后,若队列为空,注意进入第一个元素时的情况就ok,都很简单。

  删除元素:就从队头删除,由于加入了头结点,所以比较方便对于队头的处理。成都IT培训

  queue.h

  #include<iostream>

  using namespace std;

  struct list

  {

  int data; //队列中数据

  list *next; //表结构体中的链表,用于指向下一个元素

  };

  class queue

  {

  private:

  list *front;

  list *rear;

  public:

  queue()

  {

  front=rear=new list; //初始化,一定要注意分配空间,队列为空,注意头结点和头指针的区别

  front->next=NULL;

  }

  void enqueue(int elem); //插入元素为elem 的队尾远么成都c++培训

  int dequeue(); //删除队头元素,并返回其值

  void traverse(); //遍历队列中的元素

  };

  queue.cpp

  #include "queue.h"

  void queue::enqueue(int elem)

  {

  list *newlist=new list;

  newlist->data=elem;

  newlist->next=NULL;

  if(front==rear)//说明是空队列 达内好不好

  {

  front->next = newlist;

  rear=newlist;

  }

  else

  {

  rear->next=newlist;

  rear=newlist;

  }

  }

  int queue::dequeue() //从队头出去

  {

  int elem;//用于记录出队列的元素

  list *temp=new list; //用于临时存储要出队列队头

  if(front==rear)return -1;

  else

  {

  temp = front->next;

  elem=temp->data;

  front->next=temp->next;

  }

  delete temp;

  return elem;

  }

  void queue::traverse() //遍历整个队列 c++培训

  {

  list *temp;

  cout<<"从队头到队尾的元素分别为:"<<endl;

  for(temp=front->next;temp->next!=NULL;temp=temp->next)

  {

  cout<<temp->data<<" ";

  }

  cout<<rear->data<<endl;

  }

  main.cpp

  #include"queue.h"

  int main()

  {

  queue q;

  q.enqueue(1);

  q.enqueue(3);

  q.traverse();

  cout<<"删除的元素为:"<<endl;

  cout<<q.dequeue()<<endl;;

  q.traverse();

  }www.
搜索更多相关主题的帖子: private include public 
2012-12-10 15:00
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
果然,最后一行出现了小广告
收到的鲜花
  • mmmmmmmmmmmm2012-12-10 15:54 送鲜花  9朵   附言:犀利
2012-12-10 15:45
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:0 
版主眼力高。

www.qunxingw.wang
2012-12-10 20:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-390503-1-1.html




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

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