这两道题都是用的尺取法。尺取法是《挑战程序设计竞赛》里讲的一种常用技巧。就是O(n)的扫一遍数组,扫完了答案也就出来了,这过程中要求问题具有这样的性质:头指针向前走(s++)以后,尾指针(t)要么不动要么也往前走。满足这种特点的就可以考虑尺取法。poj3061 比较简单,也可以用二分做,时间复杂度O...
分类:
其他好文 时间:
2014-09-25 02:11:38
阅读次数:
245
链队列,即队列的链式存储结构,它是仅在表头删除和表尾插入的单链表,因此一个链队列需要设置两个分别指示队头元素和队尾元素的指针,为了操作方便,给链队列添加一个头结点,并令队头指针指向头结点,由此,空的链队列的判断条件就是队头指针和队尾指针均指向头结点。
链队列的类型描述:
//链队列类型描述
typedef int QElemType;
typedef struct node{
QElemTy...
分类:
其他好文 时间:
2014-09-22 01:57:11
阅读次数:
189
第 13 题(链表):题目:输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。链表结点定义如下: struct ListNode {int m_nKey;ListNode* m_pNext;};我的思路:先翻转链表,再从翻转后的链表的头向尾数k-1个,返回,再...
分类:
其他好文 时间:
2014-09-15 10:04:28
阅读次数:
212
全排列函数next_permutationSTL中专门用于排列的函数(可以处理存在重复数据集的排列问题)头文件:#includeusingnamespacestd;调用:next_permutation(start,end);注意:函数要求输入的是一个升序排列的序列的头指针和尾指针.用法: 1 //...
分类:
其他好文 时间:
2014-09-14 20:33:27
阅读次数:
361
队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么: 队列满时:(rear+1) mod maxsize...
分类:
其他好文 时间:
2014-09-04 22:07:50
阅读次数:
513
循环队列中,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,无法通过条件front==rear来判别队列是"空"还是"满"。解决这个问题的方法至少有三种:① 另设一布尔变量以区别队列的空和满;② 少用一个元素的空间。约定入队前,测试尾指针在循环意义下...
分类:
其他好文 时间:
2014-08-30 21:40:40
阅读次数:
419
two模拟大意:给你一个 N 位二进制数,有四种操作:加1、减1、乘2、整除2。给定一个操作序列,求最终结果。N <= 5*10^6。数据保证不会在最高位上进行进位或退位操作。初步解法:由于题目中的特殊限制(操作不影响最高位),我们可以直接用一个 char 数组和一个尾指针来进行操作。「加1」操作即...
分类:
其他好文 时间:
2014-08-19 22:19:15
阅读次数:
248
队列,是一种先进先出的线性表,它只允许在队头删除,在队尾插入,链式队列和单链表操作类似,但是有队首指针和队尾指针,下面是链式队列的表示和实现:#include using namespace std;//队列的链式表现与实现struct QNode{ int data; QNode *n...
分类:
其他好文 时间:
2014-08-08 17:37:06
阅读次数:
257
/* * 循环队列基本操作。 * 少用一个元素空间,约定以“队列头指针在队列尾指针的下一个位置”作为队列满的标志。 * “队列头指针等于队列尾指针”作为队列空的标志。 */#include #include #include #define MAXQSIZE 100typedef char Elem...
分类:
其他好文 时间:
2014-08-07 12:58:20
阅读次数:
288
1.单向循环链表
区分单向链表和单向循环链表:单向循环链表的尾指针指向头结点。
2.单向循环链表的基本操作
#include
#include
#define NULL 0
typedef struct node {
int data;
struct node *next;
}ElemSN;
ElemSN * creat_link(int ms); //创建一个单向循环链表
...
分类:
其他好文 时间:
2014-07-22 23:50:48
阅读次数:
264