摘要: 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 //递归形式分治求解 8 func power(x, m int) int { 9 if m == 0 {10 return 111 } else {12 y := power(x, m/2)13 y = y * y14 if m%2 != 0 {15 y = x * y16 }17 return y18 }19 }20 21 //迭代形式分治求解, ... 阅读全文
posted @ 2013-11-04 13:58 Sunlnx 阅读(440) 评论(0) 推荐(0)
摘要: 1 package main 2 import ( 3 "fmt" 4 ) 5 6 type Radix struct { 7 length int //序列中最大数的位数 8 radix [][]int //0-9的10个桶 9 nums []int //要排序的序列10 }11 //初始化排序的相关参数12 func (r *Radix ) Init(numbers []int) {13 r.nums = numbers14 r.getLen() 15 }16 //获取序列最大数的位数17 func (r *Radix)... 阅读全文
posted @ 2013-11-03 13:09 Sunlnx 阅读(655) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 4 using namespace std; 5 #define N 100 6 7 //合并序列中的s:m-1和m:e两个子序列 8 void merge(int array[], int s, int m, int e) { 9 int ta[N], i, j, k = 0; 10 i = s;11 j = m;12 while (i = 1) { //依次从2, 4, 8......至序列被分成两部分向上归并36 s = 0;37 while (1) {3... 阅读全文
posted @ 2013-11-01 18:41 Sunlnx 阅读(282) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 using namespace std; 4 5 6 const int MAXSIZE = 1000; 7 8 //堆结构体 9 class Heap { 10 private: 11 int array[MAXSIZE]; //堆数组 12 int size; //实际堆节点数 13 void init(); //初始化堆 14 void shiftUp(int i); //向上调整堆 15 ... 阅读全文
posted @ 2013-10-31 17:41 Sunlnx 阅读(171) 评论(0) 推荐(0)
摘要: C语言结构体对齐问题详解 转载自:http://blog.csdn.net/tiany524/article/details/6295551 测试环境32位机 WinXP: 编译器VC6(MS cl.exe ) 和 mingw32-gcc-4.5.2 1 结构体数据对齐(没有#pragma pack 阅读全文
posted @ 2013-10-13 15:21 Sunlnx 阅读(347) 评论(0) 推荐(0)
摘要: 题目:有N个整数的元素的一维数组,求子数组中元素之和中最大的一组(思想:动态规划)分析: 设该数组为array[N], 那么对于array[i]该不该在元素之和最大的那个子数组中呢?首先,不如假设array[0..i-1]这个子数组的元素之和最大的子数组已求出,且和为Max,起始编号为start,结束编号为end, temp[i] 记录将array[i]强制加入到array[0..i-1]的元素之和最大的子数组中(比如数组:1, -3] 则temp[2] = -2, 虽然1才是最大和Max); 如果array[i]加入到array[0..i-1]的元素和最大的子数组中,那么必须: ... 阅读全文
posted @ 2013-09-17 19:43 Sunlnx 阅读(350) 评论(0) 推荐(0)
摘要: 这是一道华为的机试题,后来才知道也叫约瑟夫问题,题目是这样的:有n个人围成一圈,玩一个游戏,规则为将该n个人编号为1,2,......n, 从编号为1的人开始依次循环报数,报道第m的时候将第m个人从队伍中出列,然后从下一个人开始,又依次从1,2,....m报数,每次将报数为第m的人出列,直到最后只剩下1个人为止,则剩下的最后一個人获得游戏的胜利,现在给定n和m(n,m>0),让你求出哪位队员将获得游戏的胜利? 分析如下 假设每次队列的编号为:1, 2, 3......n,那么报数为m的人,编号应该为m % n,如下 1, 2, 3, ......m%n-1, m%n, m%n+1.... 阅读全文
posted @ 2013-09-15 11:16 Sunlnx 阅读(1390) 评论(0) 推荐(0)