| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3331 人关注过本帖
标题:Bogo排序,(相信运气吗?)
取消只看楼主 加入收藏
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
结帖率:94.64%
收藏
已结贴  问题点数:1 回复次数:3 
Bogo排序,(相信运气吗?)
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void bogo_sort(int *, int, int);

void shuffle(int *, int);

int in_order(int *, int);

int main(void) {
    int array[5], i;
    for(i = 0; i < 5; i++)
        scanf("%d", array + i);
    bogo_sort(array, 0, 4);
    for(i = 0; i < 5; i++)
        printf("%d ", array[i]);
    return 0;
}

void bogo_sort(int * data, int begin, int end) {
    while(!in_order(data, end - begin)) {
        shuffle(data, end - begin);
    }
}

void shuffle(int * data, int size) {
    int i, temp;
    srand((unsigned)time(NULL));
    for(i = 0; i <= size; i++) {
        int index = rand() % (size + 1);
        temp = data[i];
        data[i] = data[index];
        data[index] = temp;
    }
}

int in_order(int * data, int size) {
    int i;
    for(i = 0; i < size; i++)
        if(data[i] > data[i + 1])
            return 0;
    return 1;
}
图片附件: 游客没有浏览图片的权限,请 登录注册


这种排序的算法就是,有一只猴子把n个卡片扔向天空,掉下如果排列恰好,则说明排序成功,呵呵。我试了试,运气还不错,1秒左右就好了,大家也可以去试试,如果长时间还没好,就说明你人品差啦,去烧点香。呵呵


[ 本帖最后由 lz1091914999 于 2011-7-4 20:00 编辑 ]
2011-06-10 21:27
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 2楼 voidx
呵呵,结果和时间有关。

My life is brilliant
2011-06-11 07:58
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 4楼 hjywyj
我改了改用了10个数,等了很久都没出答案。

My life is brilliant
2011-06-11 09:16
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 7楼 bccn_2012
纯粹是写来玩玩的,呵呵。

My life is brilliant
2011-06-11 15:25
快速回复:Bogo排序,(相信运气吗?)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020720 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved