算法不会,尚能饭否之排序——直接选择排序

    前面讲了那么多的排序,不知道有没有人看,如果有人看,就吱一声,也好让我有信心在写下去了!

不管了,还是那句话,写自己的博文,让别人说去吧,现在应该是,写自己的博文,让别人看去吧!看不

看,是你的事,写不写是我的事!好了,废话少说,开始今天的征程——直接选择排序!

         算法思想:所谓直接选择排序,如下:

(1)       在一组对象v[i]~v[n - 1]中选择具有最小关键码的对象

(2)       若它不是这组对象中的第一个对象,则将它与这组对象中的第一个对象对调

(3)       在这组对象中剔除这个具有最小关键码的对象,在剩下的对象v[i + 1]~v[n - 1]中重复执行第

1)、(2)步,直到剩余对象只有一个为止。

 

说了这么多,你应该懂得~~

好了,现在来讲讲我的实现方法。首先需要两层循环,为什么,看了,因为看了思路,直觉告诉我

的,现在我就告诉你是两层的。不要问我为什么?外层循环获得一个新的数,现在我的目的是将这个

新数放到数组中的正确地方去。你懂得。你要选择正确的地方,

内层循环就是控制这个选择的。如何选择,没获得一个新的数,你必须要将它们依次和这个数之前的

数进行比较,如果满足条件,什么条件,这个需要看你的了,因为条件有升序和降序之分的。好了,

满足了条件,就进行调换,数组中两个元素的对换那个是不是有点太简单了,我都不好意思提了。好

了。亲手实现吧。代码贴上:

 

这是我写的代码,如果大家觉得我写的不对,希望大家给我提出,和我一起分享。谢谢!我的宗旨

是,你我共同学习!

 

现在回过头来看看,直接选择排序和直接插入排序有什么不同吗?

 

 

posted @ 2011-03-20 19:45  Java EE  阅读(140)  评论(0编辑  收藏  举报