C++實(shí)現(xiàn)簡(jiǎn)單排序算法

思想:把數(shù)據(jù)分成有序區(qū)和無(wú)序區(qū),初始化無(wú)序區(qū)為空。無(wú)序區(qū)為所有待排序數(shù)據(jù),選取無(wú)序區(qū)的最小值,把它和無(wú)序區(qū)的第一個(gè)數(shù)進(jìn)行位置互換,重復(fù)上面,直到無(wú)序區(qū)只剩下最后一個(gè)數(shù)據(jù)為止。

現(xiàn)在有這么些數(shù)據(jù) [ 14 6 45 67 16 ] 括號(hào)代表無(wú)序區(qū)

第一趟:

選取 [ 14 <strong>6</strong> 45 67 16 ] 的無(wú)序區(qū)的最小值 6
與14進(jìn)行交換得到如下:
6 [ 14 45 67 16 ]

第二趟:

選取 6 [ 14 45 67 16 ] 的無(wú)序區(qū)的最小值 14,是自己,位置不換,如下:
6 14 [ 45 67 16 ]

第三趟:

選取 6 14 [ 45 67 16 ] 的無(wú)序區(qū)的最小值 16,16與45 進(jìn)行位置交換,如下:
6 14 16 [ 67 45 ]

第四趟:

選取 6 14 16 [ 67 45 ] 的無(wú)序區(qū)的最小值 45,67與45 進(jìn)行位置交換,如下:
6 14 16 45 [ 67 ]

第五趟:

選取 6 14 16 45 [ 67 ] 的無(wú)序區(qū)的最小值 67,67也是無(wú)序區(qū)的第一個(gè)數(shù),位置不換,如下:
6 14 16 45 67

結(jié)束算法

下面是附上的C++代碼

#include<iostream> 
using namespace std;
void simple_sort(int data[], int);
int main(){
    int data[] = {14,6,45,67,16};
    int length = sizeof(data)/sizeof(int);
    
    cout<<"排序前數(shù)據(jù):";
    cout<<endl;

    for(int i=0; i<length-1; i++){
        cout<<data[i]<<",";
    }
    cout<<data[length-1];
    cout<<endl;
    cout<<endl;

    simple_sort(data,length);
    cout<<"排序后數(shù)據(jù):";
    cout<<endl;
    for(i=0; i<length-1; i++){
        cout<<data[i]<<",";
    }
    cout<<data[length-1];
    cout<<endl;
    system("pause");
    return 0;
}
void simple_sort(int data[], int length){
    
    int temp;                                    //交換時(shí)臨時(shí)存儲(chǔ)數(shù)據(jù)使用
    for(int i=0; i<length-1; i++){
        int min = i;                             //min用來(lái)存放最小值的位置
        for(int j=i+1; j<length; j++){
            if(data[min]>data[j]){
                min = j;
                
            }
        }
        if(data[min]<=data[i]){
            temp = data[min];
            data[min] = data[i];
            data[i] = temp;
        }
    
    }
}

運(yùn)行如下顯示:

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 曾經(jīng)有一份美好的愛(ài)情放在我的面前我沒(méi)有珍惜。等到失去后才后悔莫及。如果可以再對(duì)小李說(shuō)。毛欣想說(shuō)。這輩子無(wú)緣再牽手。...
    毛欣與小李閱讀 3,318評(píng)論 0 13
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:選D,7+9=16;9+(-1)=8;(...
    Alex_bingo閱讀 19,790評(píng)論 1 19
  • 一、常見(jiàn)排序算法一覽: 時(shí)間復(fù)雜度: 是一個(gè)函數(shù),它定量描述了該算法的運(yùn)行時(shí)間。 空間復(fù)雜度:一個(gè)算法在運(yùn)行過(guò)程中...
    夕望有你閱讀 994評(píng)論 0 0
  • Android 輕量化組件 PopupMenu 的使用 估計(jì)很多人遇到過(guò)這種場(chǎng)景:要求彈出的PopupWindow...
    小朱v閱讀 28,448評(píng)論 4 14
  • (一) 周末陪女兒舞蹈考級(jí),等待的間隙,一個(gè)人在舞校所在的小區(qū)閑庭信步起來(lái)。 這是一個(gè)有十多年歷史的老小區(qū),以往路...
    屋檐下023閱讀 461評(píng)論 0 0

友情鏈接更多精彩內(nèi)容