循环链表与单向链表十分相似,两者唯一不同之处就是,循环链表的尾节点的next属性指向了链表的首节点(非头节点,头节点是没有数据的,头节点的下一个有数据的节点我们称为首节点)。他的表现形式有常见的两种,如下图:继续阅读

上文中我们介绍了线性表顺序储存的方式,并给大家画了一幅比较详细的图(虽然看着比较凌乱),本文介绍的是数据储存的另外一种方式“链式储存”,这相当于我们之前提到过的单向链表,但是,本文与上一篇文章一样,都将数据的储存和算法进行了分离。这才是我们真正应该晋级了解的东西,如果只是一个单向链表,不足以我们耗费这么多精力。继续阅读

我本想将 STL 中各种容器的实现方法和作用全部写一遍,然后每种容器都发一篇文章,但后来发现这样做的意义不大,在 MSDN 或其他一些帮助文档中,他们比我写的要详细,其实我只需要记住每种容器的常用方法,和在什么场合选择合适的容器。下面这张表是我这里的一些常用方法集合。备用参考。继续阅读

二分查找的前提是数据一定要有序,否则一切皆为空谈。通过有序的一段数据使用二分查找较常规遍历查找算法速度要快一些。其中二分查找发有两种实现,一种为常规while循环,另外一种为递归。具体的实现步骤如下:继续阅读