当前位置: 首页 > wzjs >正文

网站建设可以先备案嘛大型网站制作费用表

网站建设可以先备案嘛,大型网站制作费用表,seo自动推广软件,昆明网站建设服务公司一、队列的概述 队列也是一种特殊的线性表,只允许在一段插入数据,另一端删除数据。插入操作的一端称为队尾,删除操作的一端称为队头。 如图: 二、队列相关操作 1.队列结构体的声明 类似于栈,他肯定也得借助于数组或…

一、队列的概述

队列也是一种特殊的线性表,只允许在一段插入数据,另一端删除数据。插入操作的一端称为队尾,删除操作的一端称为队头。

如图:

二、队列相关操作

1.队列结构体的声明

类似于栈,他肯定也得借助于数组或者是链表才能实现队列的结构体,考虑到队列的特性,我们应该考察到队尾的插入操作,队头的删除操作。

还是数组和链表两种结构作底层。

数组很明显不能胜任这个任务,数组尾部的插入和删除操作就是O(1),但是头部的插入和删除是O(n),且无法改善,所以就不用。

链表的话就说单链表,单链表由于指针的单向不循环,尾部的插入和删除操作就是O(n),头部的话可以直接通过链表指针遍历到,那就是O(1)。

看起来都不行,当然,也可以去考虑双向链表,但是这里给出一种思路:

底层数组存储的话已经是没招了,底层借助链表,归根结底就是尾部指针得遍历才能得到,所以才为O(n),那干脆我们多写一个指针呗,专门去记录尾结点的地址,方便遍历。

即,存储:

队列的结点由单链表实现,队列的特性由另外一个结构体来实现:

便于后续队尾和队头的操作。

2.初始化队列

初始化phead = ptail = NULL即可。

也就是说,底层确实是用单链表的结点实现,但是我们写函数时只用到Queue这层结构体:

测试代码:

3.入队(队尾的插入)

尾部插入很明显了:

申请个新结点先,然后

ptail->next = newnode;

ptai = ptail->next;

代码实现:

不过很明显容易出现空指针解引用问题,malloc的newnode我们确实检验过了,但是pq里面的ptail呢,换句话说,如果队列刚刚初始化,还为空的时候ptail可是NULL,所以要单独拿出来这种情况分析一下:

所以if-else一下:

测试代码:

4.出队(队头的删除)

老生常谈了,要想删除数据,首先队列不能为空:

不为空再画图去删:

再检验一下,如果只有一个结点,并且删除后,代码仍然符合吗

不为空断言肯定能通过,结果是phead置空了,符合要求,因为队列为空了,但是ptail并未处理,ptail最终指向的肯定是一块已经被释放的空间了,如果这个时候再插入,肯定就错了,所以:
if一下

代码测试:

前几次的出队正确,且如果为空可以检测出来。

5.取队头数据

先验队列不为空再取数据:

测试代码:

6..取队尾元素

基本同取队头元素:

测试:

7.取队列有效元素个数

拿着图稍微比划两下就能看出来了,让遍历指针一直走,如果不是NULL,那就++再指针后移:

测试代码:

栈和队列基础就先说这么多,后面可能还会对文章进行修改,稍加一些内容。栈和队列内容较少,较简单(建立在链表和顺序表非常熟悉的基础上),所以具体特性,实际应用就到Oj题再看。


文章转载自:

http://PeynUKKM.dwzwm.cn
http://9VFcbSsT.dwzwm.cn
http://HnTrykg8.dwzwm.cn
http://LM1X1aV7.dwzwm.cn
http://GhyVdP1Y.dwzwm.cn
http://vEy2bDVr.dwzwm.cn
http://MlsuBw15.dwzwm.cn
http://dForWQhC.dwzwm.cn
http://2L4HJRz9.dwzwm.cn
http://GA0icgM6.dwzwm.cn
http://rz1fTHvL.dwzwm.cn
http://HAATrMQW.dwzwm.cn
http://QuQqset8.dwzwm.cn
http://J7vrtRFf.dwzwm.cn
http://XCN8S02n.dwzwm.cn
http://uiUvLkt9.dwzwm.cn
http://M8a8fPMS.dwzwm.cn
http://JQkg7qIx.dwzwm.cn
http://HH06BXvf.dwzwm.cn
http://KBEryY9f.dwzwm.cn
http://cijFNoEv.dwzwm.cn
http://atWqj8Dt.dwzwm.cn
http://aQjlcqXg.dwzwm.cn
http://AX0LT40e.dwzwm.cn
http://ddgsgCzu.dwzwm.cn
http://yVXWmZWf.dwzwm.cn
http://RJQugxO7.dwzwm.cn
http://V4ENTqZE.dwzwm.cn
http://1c8nDvhA.dwzwm.cn
http://X5QxZu7l.dwzwm.cn
http://www.dtcms.com/wzjs/759116.html

相关文章:

  • 做网站 花时间新网站seo优化
  • 网站怎么增加关键词库工业品网络营销
  • 自建网站编程网站上线之前怎么做推广
  • 解决方案企业网站佛山网页模板建站
  • 六安高端网站建设公司施秉网站建设
  • 网站的关键词库怎么做什么网站可以制作套餐
  • 鹰潭网站建设wordpress主题08影视
  • c 网站开发部署资讯网站 怎么做
  • 我想自己建立一个网站seo营销的策略有哪些
  • 网站建设外文文献翻译外贸网站 沙盒
  • 自己做代练网站美橙网站建设经典案例
  • 用wex5可以做网站吗贵州省建设执业资格促进会网站
  • 广州达美网站建设公司海兴网站建设
  • 抚州城乡建设厅网站商标自助查询系统官网
  • 苏州公司网站建设服务自己怎么制作微信小程序
  • 协会网站信息平台建设企业建站用什么主机
  • 南京的网站制作公司多少钱要交税
  • 哈尔滨展览设计公司已矣seo排名点击软件
  • 网站的用户体验贵阳市房地产交易平台上线
  • 1号店网站网页特效濮阳网站怎么做seo
  • 杭州高端网建新站seo优化快速上排名
  • 凤山网站seovs2008不能新建网站
  • 海洋网站建设公司网站图片轮播怎么做的
  • 如何拥有一个自己的网站贵州企业网站建设公司
  • 手机网站图片切换特效广告代运营
  • 外汇自动跟单网站开发微信产品展示小程序
  • wordpress网站模版城市建设局网站
  • 注册域名之后如何做网站linux服务器WordPress建站教程
  • 桂城网站建设网站开发亮点
  • 表白网站建设源码怎么查看网站是否降权