java初学之排序——选择排序
java初学之排序——选择排序Java私塾跟我学系列——JAVA篇 网址:www.javass.cn
基本思路:从所有元素中选择一个最小元素 a放在 a(即让最小元素 a与 a交换),作为第一轮;第二轮是从 a开始到最后的各个元素中选择一个最小元素,放在 a中;……依次类推。n 个数要进行(n-1)轮。比较的次数与冒泡法一样多,但是在每一轮中只进行一次交换,比冒泡法的交换次数少,相对于冒泡法效率高。
示例如下:
public class Test {
public static void main(String[] args) {
//需要排序的数组,目前是按照升序排列的
int a[] = new int;
a = 3;
a = 4;
a = 1;
a = 5;
a = 2;
//选择法排序
int temp;
for (int i = 0; ia.length; i++) {
int lowIndex = i;
//找出最小的一个的索引
for (int j=i+1;ja.length;j++) {
if (aa) {
lowIndex = j;
}
}
//交换
temp=a;
a=a;
a=temp;
}
//检测一下排序的结果
for(int ia){
System.out.println(i=+i);
}
}
}运行结果:
i=1
i=2
i=3
i=4
i=5
如果你想要按照降序排列,很简单,只需要把: if (a a)这句话修改成:if (aa)就可以了。 冒泡法是最基本的算法之一
页:
[1]