用冒泡算法求数组的第N大数
来源:互联网 发布:视频矩阵的工作原理 编辑:程序博客网 时间:2024/05/17 06:54
#include <iostream>
using namespace std;
int serch(int a[], int len, int local)
{
int i,j;
for(i=1; i<len; i++)//冒泡算法
{
for(j=i-1; j<len; j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
if(i == local)
break;
}
return a[len-i];
}
int main(void)
{
int a[] = {1,2,4,68,3,5,62,4,67};
int len = sizeof(a)/sizeof(int);
int result = serch(a, len, 3);
cout<<result<<endl;
return 0;
using namespace std;
int serch(int a[], int len, int local)
{
int i,j;
int temp;
//特别注意这里的len=1,因为a是指针,sizeof(a)=4,是指针的地址长度。
for(i=1; i<len; i++)//冒泡算法
{
for(j=i-1; j<len; j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
if(i == local)
break;
}
return a[len-i];
}
int main(void)
{
int a[] = {1,2,4,68,3,5,62,4,67};
int len = sizeof(a)/sizeof(int);
int result = serch(a, len, 3);
cout<<result<<endl;
return 0;
}
ps;本算法的思想是冒泡算法排列几遍就有第几大数已知,算法的不足是如果数组有重复数字就不适用。
- 用冒泡算法求数组的第N大数
- 两个有序数组的第n大数
- 求数组的第k大数
- N个数,求第K大数
- N个数,求第K大数
- N个数,求第K大数
- N个数,求第K大数
- 求大数n!的位数
- KMP算法&&大数运算,求1000!&&求n的n次方
- 求数组的第K小数,O(nlogn) 和 O(N)的算法
- 经典算法学习——求数组里面第N大的数
- java如何用数组解决大数阶乘的问题,例如求n!,n=100000
- 求数组中第K大数
- 冒泡排序算法 递归算法,求n的阶乘 求最大公约数和最小公倍数 java分解质因数
- BFPRT算法求第k大数
- 求一个整数数组中第N大的数
- 求数组中第n大(小)的元素
- WV.29-大数阶乘算法9-求N!的高精度算法
- java面向对象基础常识
- Android 布局优化
- CLLocation的distanceFromLocation方法计算地图上距离 (汇总)
- 解读网络工程师的发展
- 启用"clr enabled"配置选项
- 用冒泡算法求数组的第N大数
- - 静态成员变量
- 5不同进制数间异或
- 定义CDialog窗口的图标
- 59. XPages自定义控件(二)搜索视图
- 五种常见的乱码处理方式
- code review工具Review Board(二)-- 管理员
- ORACLE RAC环境下复制多个control file
- 为自定义页面加page