现在,我们来看看java中三种常见的排序方法。 在这里
1 .通过鼓泡排序
2 .选择排序
3 .插入排序
排序中需要考虑的主要因素是时间的复杂性和空间的复杂性,时间可以由我们使用
System.currentTimeMillis ()请看这个。
以下,依次说明
1 .通过鼓泡排序
气泡排序是指从前向后扫描,选择最大值放在最后,然后扫描找到剩下的
最下面的放在倒数第二位,最后的,也就是最小的依次遍历,直到放在最下面。
使之有序。 举个例子吧。
下面介绍的是这里有两个for循环的嵌套,其中第一个for循环是控制比较的圈数(
选择一个匝的最大值(),第二个for是比较的次数()比较相邻的两个是中的较大值)。
但是,这种泡沫排序有缺点,可以优化。 现在谈谈简单的优化吧。 如果原来的
的排列是有序的。 那么,这个排序还是按比较选择的,时间会变得很复杂。 所以我决定
他们可以这样优化:
在第二个for中,将一个int类型标志flg定义为0,如果发生交换,则定义为flg;如果flg接合,则定义为flg
如果为0,表示没有发生交换,则排列本身变得有序。 函数如下:
2 .选择排序
选择排序是从第一个路径开始,然后比较第一个元素和其他每个元素。 比起第一条路径
否则,与第一个元素交换值,最后将第一个元素的值最小化,第二次选择第二次
把小的放在第二要素上,按顺序排列有序。 举个例子吧。
第一个for循环控制匝数,而第二个for循环控制每匝比较的次数,如气泡排序。
3 .插入排序
插入顺序就像扑克牌,从第二张卡开始插入,小的在大的前面插入,让它拿着
序。 拿来第三张卡,找到合适的位置继续插入,使这三张有序。 第四张到全部
有序插入。 举例说明:
第一个for控制插入次数,第二个for循环在每次插入时找到插入值的适当位置
现有元素有序。
(初学者出发。 如果有错误的话,请多关照。 )