中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

經(jīng)典算法5:用分治法實現(xiàn)元素選擇

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

用分治法實現(xiàn)元素選擇所用函數(shù):

在該程序中總共用了六個函數(shù):
    1、兩個數(shù)的交換函數(shù)swap( );
    2、對一個數(shù)組進行劃分函數(shù)partition(int a[],int p,int r,int x);
    3、快速排序函數(shù) void quicksort(int a[],int p,int r);
    4、選擇第k小數(shù)的函數(shù)int select(int a[],int p,int r,int k);
    5、數(shù)組生成函數(shù) void create_array( );
    6、開始選擇函數(shù) void begin_select( );

一、交換函數(shù)swap( )
void __fastcall TForm1:: swap(int &a,int &b)
{                                        //交換兩個整數(shù)a和b
int temp=a;
a=b;
b=temp;
}

二、劃分函數(shù)partition(int a[],int p,int r,int x)

int __fastcall TForm1::partition(int a[],int p,int r,int x)
{ int i=p;        //把一個數(shù)組下標從p到r之間的數(shù)以x為基準       
           int j=r+1;      //劃分為兩個部分
        while(true)
{
           while(a[++i]<x);
           while(a[--j]>x);
           if(i>=j) break;        //
           swap( a[i], a[j]);    //調用交換函數(shù)來交換a[i]和a[j]
        }

        a[p]=a[j];

a[j]=x;

return j;

}

標簽: swap

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:貪心Prim算法生成樹問題C實現(xiàn)代碼

下一篇:Android自定義圓角ImageView