出题:输入一个单向链表,要求输出链表中倒数第K个节点分析:利用等差指针,指针A先行K步,然后指针B从链表头与A同步前进,当A到达链表尾时B指向的节点就是倒数第K个节点;解题:
1 struct Node { 2 int v; 3 Node *next; 4 }; 5 ...
分类:
其他好文 时间:
2014-05-19 12:07:16
阅读次数:
376
双向(循环)链表是线性表的链式存储结构的又一种形式。
在之前已经讲述了单向链表和循环链表。相比于单向链表只能从头结点出发遍历整个链表的局限性,循环链表使得可以从任意一个结点遍历整个链表。
但是,不管单向链表也好,循环链表也罢,都只能从一个方向遍历链表,即只能查找结点的下一个结点(后继结点),而不能查找结点的上一个结点(前驱结点)。鉴于上述问题,引入了双向链表。由于双向循环链表包含双向链表的所有...
分类:
其他好文 时间:
2014-05-18 18:43:19
阅读次数:
341
/*-------------------------包含头文件------------------------------------*/
#include
#include
#include
#include
int count=0;
/*-------------------------结构体定义部分------------------------------*/
typede...
分类:
其他好文 时间:
2014-05-18 18:22:04
阅读次数:
266
第1章容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器ha...
分类:
编程语言 时间:
2014-05-16 07:50:48
阅读次数:
390
首先简单介绍下distri.lua中的线程设计方案.distri.lua提供一个API函数fork用于创建新的C线程,这个C线程运行独立的lua虚拟机,为了在各线程之间通信每个线程都会创建一个channel,用于接收其它线程发送过来的消息.这个channel内部实现为单向链表,为了将channel的...
分类:
编程语言 时间:
2014-05-07 09:20:02
阅读次数:
462
线性表的Java实现--链式存储(单向链表)
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。
链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素。由于不需要按顺序存储,链表在插入、删除数据元素时比顺序存储要快,但是在查找一个节点时则要比顺序存储要慢。
使用链式存储可以克服顺序线性表需要预先知道数据大小的缺点...
分类:
编程语言 时间:
2014-05-06 23:08:53
阅读次数:
391