使用链表来实现队列有其得天独厚的条件,链表灵活的节点删除和增加操作,对于实现队列来说尤其是小菜一碟。使用顺序表来实现队列还得为了有效使用空间而进行循环操作;即就是这样依然还会发生溢出现象,所以,还是链表来的爽快!
啥也不说,上代码///////////////////////////////////////
//////////// LinkQueue.h#include "stdafx.h"...
分类:
编程语言 时间:
2015-08-27 18:47:58
阅读次数:
181
队列大家见得很多了,形式也比较简单,就是一个特化的链表,它的enqueue、dequeue操作相当于链表的addLast、removeFirst操作。关于链表的实现,可以查看我的另一篇博文--"LinkedList--链表"。下面仅讨论一个稍微复杂点的情况--循环队列。
循环队列的就是用循环数组来实现队列,有一个问题需要解决:在普通的非循环队列中,rear == front 说明队...
分类:
其他好文 时间:
2015-08-21 13:46:53
阅读次数:
138
1.集合存在的理由 数据多了用对象存,对象多了用集合存! 它是变长的,可以接受各种不同的对象,是数组不能替代的!2.大致结构3.各子类数据结构:所以有什么特性自然明了 ArrayList:数组 LinkedList:双向非循环链表4.父接口Collection都干了什么事5.List子接口都...
分类:
其他好文 时间:
2015-08-12 16:21:37
阅读次数:
111
知识点包括:全局变量的二次赋值;计算转化为二进制后,数字中 1 的数量;用一个非循环表达式判断一个数是否是2的N次方;逻辑运算与位逻辑运算;printf 输入表达式的执行顺序;位运算判断输入参数是否为2的幂次;位运算两个数值的取平均与求和;无判断语句求取变量中较大存在;无中间量交换变量;C/C++关系。...
分类:
编程语言 时间:
2015-08-12 14:41:53
阅读次数:
178
struct dulnode{ int val; dulnode *pre; dulnode *next;};//这里创建的不是双循环链表dulnode* create_dulnode(int n){ if (n val = rand() % RAND_MAX; hea...
分类:
编程语言 时间:
2015-08-04 22:44:47
阅读次数:
138
思想:图G是不带权的无向连通图,一条边的长度计为1,因此,求带顶点u和顶点v的最短的路径即求顶点u和顶点v的边数最少的顶点序列。利用广度优先遍历算法,从u出发进行广度遍历,类似于从顶点u出发一层一层地向外扩展,当第一次找到顶点v时队列中便包含了从顶点u到顶点v最近的路径,如图所示,再利用队列输出最路径(逆路径),所以设计成非循环队列。
...
分类:
编程语言 时间:
2015-07-18 12:40:05
阅读次数:
358
一、链表简介 1 数据结构中,链表是最基础的。然而链表根据不同的需求分成的种类很多,单向或双向链表,循环或非循环链表,带头节点或者不带头节点的链表。 2本文实现——带头节点的单链表。 3 由于仅仅是学习链表的基本操作,所以在数据字段仅仅设置一个字段; 由于仅仅是学习基本操作,不涉及复杂的...
分类:
其他好文 时间:
2015-06-26 22:19:07
阅读次数:
119
<?php
/**
*第二种——非循环顺序队列的实现方法
*此方法,对第一种实现方法进行了优化,出队时不再移动元素
*仅仅改变头指针的位置即可
*
*此方法的优缺点:
*优点:插入和删除的时间复杂度都已是O(1),效率比较高
*缺点:元素删除后,前面的空间就无法再进行利用,造成空..
分类:
Web程序 时间:
2015-01-09 01:43:49
阅读次数:
187
<?php
/**
*第一种——非循环顺序队列的实现方法
*队列的头元素在为数组的下标为0的元素
*这种方法的优缺点:
*优点:头元素始终在下标为0的第一个元素,因此不需要设置头指针
*缺点:元素出队是会移动大量元素,时间复杂度为O(n),效率比较低
*
*/
classSqQueue{
private$Sq..
分类:
Web程序 时间:
2015-01-09 01:43:21
阅读次数:
142
优先使用遍历方法而非循环
在使用循环的时候,很容易违反DRY(Don't Repeat Yourself)原则。这是因为我们通常会选择复制粘贴的方法来避免手写一段段的循环语句。但是这样做回让代码中出现大量重复代码,开发人员也在没有意义地"重复造轮子"。更重要的是,在复制粘贴的时候很容易忽视循环中的那些细节,比如起始索引值,终止判断条件等。
比如以下的for循环就存在这个问题,假设n是集...
分类:
编程语言 时间:
2014-11-12 10:33:09
阅读次数:
222