首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

查寻数组中第k大的数的位置

2012-08-26 
查找数组中第k大的数的位置查找数组中第k大的数的位置?代码:!--StartFragment--#include iostreamusin

查找数组中第k大的数的位置

查找数组中第k大的数的位置

?

代码:

<!--StartFragment-->#include <iostream>
using namespace std;
int find_orderk(int* narry,const int n,const int k)
{
    if(k>n) {
        return -1;
    }
    int max = *narry;
    int min = *narry;
    int position = 0;
    int i = 1;
    while(i < n) {
        int number = narry[i];
       if(max < number)
       {
          max = number;
          position = i;
       }
       if(min > number){
          min = number;
       }
       i++;
    }
    if(k!= 1) {
       narry[position] = min - 1;
       int new_k = k - 1 ;
       return find_orderk(narry,n,new_k);
    }else {
        return position;
    }
}
int main()
{
    int n [] = {8,10,1,2,3,4,7,5};
    int position = find_orderk(n,8,4);
    cout << position << endl;
    return 0;
}<!--EndFragment-->

热点排行