今天,我非常严肃的介绍一下睡眠排序(严肃脸),所谓睡眠排序,比如我有一个数组,里边有元素2,6,8,3这四个元素,那么就创建四个线程,在让这四个线程睡觉去,睡觉时间就是元素值,睡醒了就去我这里报道,所以,最先睡醒的肯定是最小的值,下面,贴代码
下面展示一些 内联代码片
。
public class SleepSort
{
public static void Main(string[] args)
{
int[] arr = new int[] { 123, 22, 913, 7, 333, 450, 3 };
for (int i = 0; i < arr.Length; i++)
{
gotobed(arr[i]);
}
System.Console.ReadKey();
}
public static void gotobed(int a)
{
Thread t = new Thread(() =>
{
try
{
Thread.Sleep(a*50);//设置大一点,以免时间相差太小
Console.WriteLine(a);
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.Write(e.StackTrace);
}
});
t.Start();
}
}
世界上最牛逼的排序,老板见此排序,定要痛苦涕零,切记:慎用!慎用!慎用!!!