摘要: 代码如下: 1 #include 2 #include 3 4 typedef int itemType; 5 struct Node; 6 typedef struct Node *pNode; 7 typedef pNode stack; 8 9 struct Node... 阅读全文
posted @ 2014-11-04 20:21 nipan 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 代码实现如下: 1 #include 2 #include 3 4 typedef int itemType; 5 struct Node; 6 typedef struct Node *pNode; 7 typedef pNode list; 8 typedef pNode ... 阅读全文
posted @ 2014-11-04 20:20 nipan 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 直接看实现吧: 1 #include 2 #include 3 4 typedef int itemType; 5 struct Node; 6 typedef struct Node *pNode; 7 typedef pNode list; 8 typedef pNode ... 阅读全文
posted @ 2014-11-04 20:15 nipan 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 直接看实现吧: 1 #include 2 #include 3 4 typedef int itemType; 5 struct Node; 6 typedef struct Node *pNode; 7 typedef pNode list; 8 typedef pNode ... 阅读全文
posted @ 2014-11-04 20:10 nipan 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 如果我们要计算一个数X的N次幂,那么很直接地,我们可以写出以下代码: 1 int 2 Power(int base, int pow) 3 { 4 int result; 5 result = 1; 6 7 while (pow > 0) { 8 ... 阅读全文
posted @ 2014-11-02 16:28 nipan 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 如果我们要计算一个二进制数中1的个数,很显然会想到运用位运算的知识来解决。前面有篇博文,讲如何判断一个数是否是2的幂,其实就是判断一个二进制数中是否仅含有一个1,解法是x & x - 1。在理解上式的前提下,我们可以发现,如果二进制数x中包含不止一个1,那么x&x-1的结果就使得原先的x失去的最末尾... 阅读全文
posted @ 2014-11-02 16:01 nipan 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 怎么理解桶式排序呢?简单地说,桶式排序就是当我们知道待排序的每一个数据都大于等于零,并且小于一个正整数M,那么我们给出一个大小为M的数组,称之为bucket。于是这个数组能够容纳待排序的每一个数据的信息,我们遍历待排序数据,对于每一个数据i,我们使对应的bucket[i]加1。遍历完成之后,我们输出... 阅读全文
posted @ 2014-11-01 14:03 nipan 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 一般来说,我们可以用异或运算来交换两个整数,这样可以避免在交换的过程中用到临时变量。(其实用到一个临时变量也不影响程序性能,所以此处无非是编程技巧的考察了。)代码可以这样写:1 void2 Swap(int *a, int *b)3 {4 5 *a ^= *b;6 *b ^=... 阅读全文
posted @ 2014-10-31 15:20 nipan 阅读(2464) 评论(0) 推荐(0) 编辑
摘要: 如果要我们找出一个数组中的最小(最大)的元素,那么第一反应肯定是使用最小(最大)堆。时间复杂度等同于建堆的复杂度,这里是O(N)。如果要我们找出一个数组中的第k个最小的元素,那么我们依然可以使用最小堆,删除掉k次的最小值,就得到了结果。复杂度是O(N + klogN)。如果要我们找出一个数组的中值,... 阅读全文
posted @ 2014-10-31 14:35 nipan 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 快速排序是递归的思路谈起来是很简单的:(1)当待排元素S个数为1的时候,什么也不做。(2)在待排元素S中取一个元素作为枢纽pivot。(3)将待排元素分成三份:小于pivot的元素S1、pivot它自己、大于pivot的元素S2。(4)对小于pivot的元素S1进行快速排序,对大于pivot的元素S... 阅读全文
posted @ 2014-10-30 16:23 nipan 阅读(257) 评论(0) 推荐(0) 编辑