标签:
Java 选择排序与冒泡排序
1.DataSorter.java
public class DataSorter {
//冒泡排序法
//主要思路:按升序排序,数组元素两两比较,大的立即排后面
public static void bubbleSort(int[] a) {
for(int i = 1 ;i < a.length ;i++){ //控制外循环次数
for(int j = 0 ;j < a.length - i ;j++){
if(a[j] > a[j+1]){ //数组元素两两比较,大的立即排后面
swap(a, j, j+1);
}
}
}
}
//直接选择排序法
//主要思路:按升序排序,每次循环找出最大数,把他放到最后一个位置上
public static void selectSort(int[] a) {
int index; //保存每次比较最大值的下标;
for(int i = 1; i < a.length; i++){ //控制外循环次数
index = 0;
for(int j = 1; j <= a.length - i ; j++){
if(a[j] > a[index]){
index = j;
}
}
swap(a, index, a.length -i);
}
}
//交换数组元素
private static void swap(int[] a, int x, int y) {
int tmp = a[x];
a[x] = a[y];
a[y] = tmp;
}
//输出数组元素
public static void show(int[] a) {
for(int i = 0; i < a.length; i++){
System.out.println(a[i]);
}
}
}
2.测试类Test.java
public class Test {
public static void main(String[] args) {
int [] a = {9,2,1,8,0,3};
DataSorter.selectSort(a);
DataSorter.show(a);
}
}
3.测试结果:
标签:
原文地址:http://www.cnblogs.com/shamgod/p/4585261.html