- 博客(3)
- 收藏
- 关注
原创 求数组中的最大数和最小数
/*求一个数组中最大值和最小值,只用比较3n/2次,先是每一对比较一个最大值和最小值,然后用最大值和原先的最大值比较,最小值和原先的最小值比较*/#includeusing namespace std;bool isEven(int v)//判断一个数是否为偶数{ return (v & 1) ? false : true;}void maxAndmin(int arr[],i
2015-04-24 21:06:06 3134
原创 求最大公约数
gcd()方法中使用的辗转取余数法 f(v1,v2) = f(v2, v1 % v2)。gcd1()也是辗转取余数法,不过用的递归实现的。gcd2()使用的是相减法,f(v1,v2) = f(v1-v2,v2)。这两个方法都要缺陷,如果是大整数的数的话,方法gcd()取余数操作会耗时,gcd2()方法如果两个数相差很大,会多次递归。#include#includeusi
2015-04-21 21:53:05 375
原创 使用快速排序,求最大的k个数
使用快排的思想,求k最大的数。o(n*logk)#includeusing namespace std;int partition(int arr[],int p,int r)//每一次划分所产生的结果{ int x = arr[r];//选择末尾元素作为枢轴 int i = p -1; for(int j = p; j < r; ++j) { if(arr[j] > x)
2015-04-21 16:37:38 731 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人