zoukankan      html  css  js  c++  java
  • 第n大的元素

    #include <bits/stdc++.h>
    using namespace std;
    //利用快速排序的思路,每次都有选择的在左边或右边递归。
    //[,]
    // int a[6]={1,2,2,3,5,5};
    int a[6]={2,1,2,5,3,5};
    int nth(int n,int x,int y){
        int i=x,j=y;
        while(i<j){
            while(i<j&&a[j]>=a[i]) j--;
            if(i<j) swap(a[i],a[j]);
            while(i<j&&a[i]<=a[j]) i++;
            if(i<j) swap(a[i],a[j]); 
        }
        if(i+1==n) return a[i];
        else if(i+1<n) return nth(n,i+1,y);
        else return nth(n,x,i-1);
    }
    int main()
    {   
        cout<<nth(1,0,5)<<nth(2,0,5)<<nth(3,0,5)<<nth(4,0,5)<<nth(5,0,5)<<nth(6,0,5)<<endl;
        return 0;
    }
  • 相关阅读:
    11
    TSP-test
    TSP-SA_TSP
    TSP-PathLength
    TSP-OutputPath
    TSP-NewAnswer
    TSP-
    TSp-dsxy2figxy
    TSP-DrawPath
    TSP-Distanse
  • 原文地址:https://www.cnblogs.com/MorrowWind/p/13056490.html
Copyright © 2011-2022 走看看