队列预习

  • 问题:
  • 1.队列的结构?
  • 2.队列顺序表如何解决队头出队列时,所有队列元素向队头位置移动?
  • 3.当队头出队列时,队尾一直加在队列后,则会使得数组前面元素空着,且队尾出处会溢出?
  • 4.如何判断队列是否为空?
  • 5.单链队列?
  • 6.结点结构和链表(队列)结构?
  • 7.入队和出队?
  • 解答:
  • 1.队列与栈(先进后出)不同,为先进先出。
  • 2.设立队头,队尾两个指针front  rear来表示队头队尾,而不是让数组第一个元素,假如表示为a【0】,让a【0】来表示队头。
  • 3.引入循环队列,直接将front指针和rear指针作为队头和队尾,当队尾出溢出时将rear指针移动至数组第一个元素处,让数组的头部做队尾。
  • 4.定义标志位flag,当flag==1,且rearfront和rear俩个指针相同为满,flag==0,且rearfront和rear俩个指针相同为空。
  • 5.队列的链式存储结构,就是线性表的单链表,进出形式为尾进头出,简称链队列。
  • 6.两个结构都为结构体,结点为数据域和指针域,而队列结构结构体为两个指向结点结构体指针组成。
  • 7.入队:malloc分配空间,将rear指针指向的结点指针域内指针指向该空间,这样就形成链式结构,在数据域内赋值,并且将rear指针指向下一个值?                                                                                                                                              出队:将front指针指向的结点数据域内的值"弹出",且将指针front指向结点内指针域内的地址,也就是下一个元素(结点)的地址。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值