首頁>Club>
3
回覆列表
  • 1 # 大寶8211

    猴子排序是一種什麼樣子的排序呢?

    猴子代表亂的意思,猴子排序的意思就是亂排序,直到有序為止。

    這個真實的含義就是把一個無序的陣列進行亂排序,然後看其是否會有序,這是個機率性事件,有可能一次之後就有序了,也有可能很多次後依然無序。

    實現方法如下:

    1,定義陣列

    2,陣列隨機

    3,檢驗陣列是否有序,無序繼續,有序了就停止

    就是如此簡單的實現思路,但是卻要用到隨機化的知識和標誌變數的實現技巧

    程式碼如下: //得到的資料是說明了排序多少次之後才有序

    #include <iostream>

    using namespace std;

    int source[10],flag[10],res[10];

    int sort(){

    memset(flag,1,sizeof(flag));

    int num = 10,count=0;

    while(num){

    int t =rand()%10; //生成0-9之間的數

    if(flag[t]){

    res[count++] = source[t];

    num--;

    }

    }

    for(int i=0;i<9;i++){

    if(res[i]>res[i+1]){ //只有是從小到大的排列才行

    return 0;

    }

    }

    return 1;

    }

    int main(){

    int count = 0;

    for(int i=0;i<10;i++){

    cin>>source[i];

    }

    while(sort()!=1){

    count++;

    }

    cout<<"共運行了"<<count<<"次"<<endl;

    return 0;

    }

  • 中秋節和大豐收的關聯?
  • 花奇楠和沉香的區別在哪?