算法系列15天速成 第二天 七大经典排序【中】
首先感谢朋友们对第一篇文章的鼎力支持,感动中....... 今天说的是选择排序,包括“直接选择排序”和“堆排序”。 话说上次“冒泡排序”被快排虐了,而且“快排”赢得了内库的重用,众兄弟自然眼红,非要找快排一比高下。 这不今天就来了两兄弟找快排算账。 1.直接选择排序: 先上图: 说实话,直接选择排序最类似于人的本能思想,比如把大小不一的玩具让三岁小毛孩对大小排个序, 那小孩首先会在这么多玩具中找到最小的放在第一位,然后找到次小的放在第二位,以此类推。。。。。。 ,小孩子多聪明啊,这么小就知道了直接选择排序。羡慕中........ 对的,小孩子给我们上了一课, 第一步: 我们拿80作为参照物(base),在80后面找到一个最小数20,然后将80跟20交换。 第二步: 第一位数已经是最小数字了,然后我们推进一步在30后面找一位最小数,发现自己最小,不用交换。 第三步:........ 最后我们排序完毕。大功告成。 既然是来挑战的,那就5局3胜制。 复制代码 代码如下:
namespace SelectionSort //插入2w个随机数到数组中 Console.WriteLine("n第" + i + "次比较:"); Stopwatch watch = new Stopwatch(); watch.Start(); Console.WriteLine("n快速排序耗费时间:" + watch.ElapsedMilliseconds); watch.Start(); Console.WriteLine("n直接选择排序耗费时间:" + watch.ElapsedMilliseconds); } //选择排序 for (int j = i + 1; j < list.Count; j++) (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |