zoukankan      html  css  js  c++  java
  • Kmin

    Kmin of Array

    【本文链接】

    http://www.cnblogs.com/hellogiser/p/kmin-of-array.html

    【代码】

     C++ Code 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    /*
        version: 1.0
        author: hellogiser
        blog: http://www.cnblogs.com/hellogiser
        date: 2014/5/30
    */

    int Partition(int a[], int left, int right)
    {
        
    // partition so that a[left..p-1]<=a[p] and a[p+1..right]>a[p]
        int pivot = a[left], i = left , j = right;
        
    while (i < j)
        {
            
    while (a[i] <= pivot) i++;
            
    while (a[j] > pivot) j--;
            
    if (i < j)
                myswap(a[i], a[j]);
        }
        myswap(a[left], a[j]);
        
    return j;
    }

    int Kmin(int a[], int left, int right, int k)
    {
        
    // a[left..right],  1<=k<=n
        if(left <= right) // less or equal
        {
            
    int p = Partition(a, left, right);
            
    int pk = p - left + 1;
            
    if( k < pk)
                
    return Kmin(a, left, p - 1, k); // left searc
            else if(k > pk )
                
    return Kmin(a, p + 1, right, k - pk); // right search
            else return a[p];
        }
        
    return NOT_FOUND;
    }

    int Kmin(int a[], int n, int k)
    {
        
    if (k < 1 || k > n)
            
    return NOT_FOUND;
        
    return Kmin(a, 0, n - 1, k);
    }

    【本文链接】

    http://www.cnblogs.com/hellogiser/p/kmin-of-array.html

    个人学习笔记,欢迎拍砖!---by hellogiser

    Author: hellogiser
    Warning: 本文版权归作者和博客园共有,欢迎转载,但请保留此段声明,且在文章页面明显位置给出原文连接。Thanks!
    Me: 如果觉得本文对你有帮助的话,那么【推荐】给大家吧,希望今后能够为大家带来更好的技术文章!敬请【关注】
  • 相关阅读:
    1697 ⑨要写信
    1220 数字三角形
    4979 数塔
    bzoj1618[Usaco2008 Nov]Buying Hay 购买干草
    bzoj1066[SCOI2007]蜥蜴
    bzoj1008[HNOI2008]越狱
    cf437D The Child and Zoo
    cf437C The Child and Toy
    cf437B The Child and Set
    cf437A The Child and Homework
  • 原文地址:https://www.cnblogs.com/hellogiser/p/kmin-of-array.html
Copyright © 2011-2022 走看看