有个奇葩定理,叫无限猴子定理:
有无限只猴子用无限的时间会产生特定的文章,如莎士比亚的作品(当然换成是我我也行)
因此,一个由奇葩定理得出的奇葩排序产生了
叫monkey排序(这monkey不是孙悟空就是程序猿):
过程是这样的:
有6张卡片,分别为:925734
一只顽皮的猴子将卡片洗牌
变成:295374
再洗一次:
732594

one year later
973452

one thousand year later
234579
猴子:ohohoohoohohhoohoohooho
这就是所谓的猴子算法,代码如下:

#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;
}

这是0~9之间数排序
转自:https://blog.csdn.net/qq_23100787/article/details/51150587
用人问这有个毛用
别着急
假设列表a有n项,那每次随机结果%n,将a[随机]计入b,最后判断b是否有序这不就是个很正经的排序吗??

3大奇葩排序之猴子算法相关推荐

  1. Java排序 - 不实用的几个排序算法 -- 睡眠排序、猴子排序、面条排序、珠排序...

    介绍几个不实用的排序算法,一来可以在学习时增加一些乐趣,放松一下自己,二来可以学习一下.思考一下这些算法失败在哪里,又是否存在一些好的地方? 睡眠排序 这是一个思想比较简单,脑洞巨大的算法 -- 我们 ...

  2. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  3. 十大经典排序算法(建议收藏)

    来自:Damonare的个人博客 原文:http://blog.damonare.cn/2016/12/20/十大经典排序算法总结(javascript描述)/ 0.算法概述  0.1 算法分类 十种 ...

  4. 11月14日云栖精选夜读 | 动画+原理+代码,解读十大经典排序算法

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过 ...

  5. 【每日算法】C语言8大经典排序算法(2)

    接上文--->[每日算法]C语言8大经典排序算法(1) 二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中 ...

  6. 十大经典排序算法动画与解析

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序. 内部排序是数据记录在内存中进行排序. 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排 ...

  7. 数据结构与算法笔记 —— 十大经典排序及算法的稳定性

    一.十大经典排序算法 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全 ...

  8. Algorithm:【Algorithm算法进阶之路】之十大经典排序算法

    Algorithm:[Algorithm算法进阶之路]之十大经典排序算法 相关文章 Algorithm:[Algorithm算法进阶之路]之数据结构二十多种算法演示 Algorithm:[Algori ...

  9. python经典排序_python实现十大经典排序算法

    写在前面 本文参考十大经典排序算法(动图演示),这篇文章有动图显示,介绍的很详细.本文是部分内容有借鉴此博客,用python实现,有一些改进. 各种算法的时间.空间复杂度 1.冒泡排序 1.比较相邻的 ...

  10. C++ 十大经典排序算法原理及模板之STL方法实现以及稳定性分析

    写在前面: 1.本文中默认排序为升序,降序的原理类似. 2.如果程序直接复制到vs出现无法识别标记的问题,解决方法在这:vs无法识别标记的解决方法 3.本文的算法都是自己用stl实现的,疏漏之处还请指 ...

最新文章

  1. php制作标签,ThinkPHP标签制作教程
  2. SAP顾问,市场的双重需求
  3. Ecplise中怎样进行全局搜索
  4. 智能指针 shared_ptr 解析
  5. .net core高性能通讯开源组件BeetleX
  6. 网络爬虫--8.编码趣闻
  7. 阿里云多机部署Fabric 1order节点多个peer节点
  8. CentOS部署SpringBoot项目(二)
  9. RestTemplate远程接口调用
  10. UIView - CAGradientLayer
  11. 【笔记】LR配置ODBC连接数据库进行参数化(mysql )未完待续
  12. HttpPrinter易桥网络打印机
  13. NLP高阶实战必读:一文走遍完整自然语言处理流程 文章
  14. Windows 8,为应用和触摸重塑的Windows
  15. 【每日早报】2019/08/19
  16. Matlab——线性规划模型
  17. 2018 最新注册码【激活码】、在线激活 pycharm 完整方法(亲测有效)【2018.05.08 重大更新!!!!】
  18. 微信小程序里面的单步调试和变量查看
  19. 蚂蚁员工激励达到1376.9亿元 人均可在杭州买一套283平房子
  20. Python数据可视化学习笔记:第一章 关联图 第四节 使用Python绘制一般气泡图

热门文章

  1. DT财经:2018北京城市大数据活跃报告
  2. 以太坊源码分析(48)p2p-server.go源码分析
  3. scala linearization
  4. Element-Ui 双重el-tabs组件选中第二层时,刷新导致第一层选中样式丢失问题以及解决方法
  5. VUE启动报错:Error: The project seems to require pnpm but it‘s not installed
  6. 文本框失去焦点事件、获得焦点事件
  7. php里ajax提交form表单图片上传,PHPAJAXFORM提交图片上传并显示图片源码
  8. Java - constants
  9. Conditional Generative Adversarial Nets(CGAN)
  10. CF949D Curfew solution