今日在微博看到如此奇妙的代码。竟然还有新的sort算法,对于我这样的渣渣必须研究一下,代码例如以下:

#!/bin.bash
function f()
{sleep "$1" //sleep 这么多secho "$1"
}while [ -n "$1" ] //第一个參数不为空
dof "$1" & //后台执行,相当于fork一个进程去执行f, 父进程同一时候继续下去shift //输入參数左移。也即覆盖掉第一个參数
donewait//父进程等待子进程都结束了再继续往下,否则子进程成为孤立进程

SleepSort。一看代码,看到sleep大致就明确意图了,利用sleep,以及多线程并发。依照sleep大小排序,并发来print排序

这个算法本质上是并发的算法,运用了sleep函数,同一时候几个进程并发,并发是指几个进程同一时间段同一时候运行,一个时刻还是要排个序逐个运行的,而并行是须要硬件支持的,真正的同一时刻多个进程同一时候运行。

于是乎本菜鸟打算C语言搞一搞,由于借助linux的fork函数来模拟 shell里面 &的后台执行功能。另外上述代码接口不太好,最好是传递数组參数这样的的,于是我写个接口比較general的C版
另外这里面要注意就是shell wait等前面子进程所有结束,父进程才继续。我用C总是输出第一个数父进程就返回了,差了C的文档才知道,他是随意一个child返回父进程就返回了。因此多次wait 用个loop。

代码(*nix OS only):

#include <iostream>
#include <sys/wait.h>
using namespace std;void f(int x)
{sleep(x);cout<<x<<" ";
}
void SleepSort(int*a, int n)
{int status;pid_t pid;for(int i=0;i<n;i++){pid=fork();if(pid==0)//child process, return 0 pid{f(a[i]);return;}else//father process return pid>0{;}}for(int i=0;i<n;i++)wait(NULL);//each wait one child process, then continue
}
int main()
{int a[]={6,2,5,8,5,4,7,1};SleepSort(a,8);
}

依照这个思想。事实上不论什么并行的技术理论都能够实现sleepsort,比如CUDA,openmp, mpi等等,我这里弄个并发版本号。

另外确实要用最小单位s的sleep函数。略微注意一下就好了~~~ 以下博客说的比較清楚~~~

http://blog.csdn.net/changingivan/article/details/6966510

收到这个启示,这个算法有个缺陷。假设排序的树interval非常小,比如1.1 1.11这样的,也可能有危急。最小sleep差比一次loop时间长是关键

今天一个马来人说非常崇拜中国的gymnastics,我第一反应geometry, 后来才知道体操。。另外一个阿三教了我一点rude english,之前一直问我what's up?这个是非常标准的美式口语.......今天竟然说了I need a chick, 我已開始以为是trick,可是也说不通。他说,假设说一个女生是chick是非常粗鲁的,还有barbanic 也是粗鲁的意思。

Good night, bitch! Get your life 享受生活,别那么书呆。Working hard,no,  hardly working.

微博预计要火一阵的SleepSort之Shell及C实现相关推荐

  1. 2022预计要火的视觉语言理解和生成:一键生成图像标注,视觉问答,代码开源,官方 Demo 可玩

  2. VRChat火了,但VR社交还没迎来最好的时代

    谁也没想到,VR社交是通过视频博主在中国火起来的. 九月份微博上一位二次元领域博主发布了一段视频,内容是在一款名为<VRChat>的游戏中,两名外国人莫名其妙地用中文交流起来.通过后续的几 ...

  3. 微博月活跃用户数增至5.73亿 移动端用户占比达94%

    微博昨日披露截至2021年9月30日的第三季度未经审计财务报告.财报显示,微博第三季度净营收达6.074亿美元,同比增长30%:归属于微博的净利润为1.817亿美元,非美国通用会计准则归属于微博的净利 ...

  4. 浅谈微博营销如何吸引流量

    微博(weibo)是根据国外的twitter(推特)而形成国内比较火的即时论坛.这个东西很好玩,任何信息任何时候都可以分享自己身边的小事,微博的产生用户不必再去论坛这些看新闻.现在很多人都拥有微博,微 ...

  5. 营在微博:企业微博营销实战宝典

    <营在微博:企业微博营销实战宝典> 基本信息 作者: 郭靓 [作译者介绍] 出版社:电子工业出版社 ISBN:9787121187742 上架时间:2012-11-8 出版日期:2012 ...

  6. 微博生态圈盈利模式分析

    一: 看到这个题目时,对于"微博生态圈"这个概念还是很模糊的,经过查阅资料,看到这样一个说法,"微博生态圈包括用户价值.平台.盈利",无论什么,一旦与利益挂钩, ...

  7. 微博可以改变一切吗?

    最近一直在整理关于程序员职场一系列的文章,忽然有一天收到一个iteye网友bingyingao的留言,留言的内容和我们的对话如下 bingyingao : "感谢楼主分享. 你有没新浪或腾讯 ...

  8. 盘点2012年微博十大丑闻

    盘点2012年微博十大丑闻 微博私奔5月17日凌晨消息,鼎晖创业投资合伙人王功权在微博上发的一条"私奔"消息,被网友瞬时间迅速传播开.在王功权的个人微博说明上有这么一条," ...

  9. 北京市推微博实名制之我见

    传闻已久的微博实名制规定终于还是规定了,目前仅是北京地区出台的政策,要求已在规定公布后3个月内对用户进行规范.官方解释说,微博传播谣言和虚假信息.买卖"粉丝"等引起网站.用户和公众 ...

最新文章

  1. 汇编和python-python语言属于汇编语言吗?_后端开发
  2. 修改归档模式的存档终点 archive log list
  3. python socket模块实现udp通信_Python基于socket模块实现UDP通信功能示例
  4. 【计算机系统设计】实践笔记(6)改进数据通路:lw和sw指令
  5. 慕课python第六周测验答案_中国大学慕课答案第八单元测试答案_Python语言程序设计考试测验答案...
  6. 数据库工作笔记018---MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法
  7. 超出想象-超级终端显示器
  8. 多多客接入(拼多多)
  9. spring-boot推送实时日志到前端页面显示
  10. DirectX 入门知识
  11. java交通灯英文文献,194关于单片机智能交通灯控制系统设计有关的外文文献翻译成品:基于单片机的智能交通控制系统(中英文双语对照)7...
  12. sci一区二区 SCI、EI、ISTP分别指什么
  13. 习惯三:要事第一--自我管理的原则
  14. 解决Unity3D提示‘Newtonsoft‘could not be found
  15. 腾讯金融云mysql,腾讯云金融级云数据库优势与功能介绍
  16. Linux添加硬盘并挂载(超细致)
  17. “十问”彻底弄懂APS、ERP、MES的集成问题
  18. 关于Telegram广告的那些事: 推广原因及推广途径
  19. Origin绘图后导出图片的方法
  20. 中国兽医血液分析仪行业市场供需与战略研究报告

热门文章

  1. c语言while可以改为when,控制流:if、when、for、while
  2. autojs定时可以选定日期吗_Excel工作表中的7个“一键完成”,你真的都了解、掌握吗?...
  3. android新建view类,android – 无法创建ViewModel类的实例(无法启动活动ComponentInfo)
  4. qstring 属于元数据类型吗_元数据,描述“数据”的“数据”
  5. python telnet 交互_Python判断telnet通不通的实例
  6. python中用def实现自动排序_漫画排序算法Python实现
  7. python自启动 绕过360_记录一次绕过杀软的过程
  8. linux查看文件句柄阀值,prometheus 告警指标
  9. 算法中分类与聚类的区别?
  10. 王爽汇编第二册:将每个单词的前四位改为大写字母