选择排序算法:
主要思想:假设第1个元素是最小值,第一趟就是从第2元素开始到结束选出最小(或最大)的一个元素,和第1个元素交换,第二趟就是从第3元素开始到结束选出最小(或最大)的一个元素,和第3个元素交换,以此类推,直到全部待排序的数据元素排完。
代码实现:
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = { 79, 56, 90, 4, 32, 27, 16, 88, 35 };
int temp = 0;
//选择排序
for(int j=0;j<arr.length-1;j++){
//假设第一个数最小
int min = arr[j];
//最小数下标
int minINdex = j;
//寻找最小数
for(int k=j+1;k<arr.length;k++){//从第二个数开始
if(min >arr[k]){
min = arr[k];
minINdex = k;
}
}
//找到最小值,交换
temp = arr[j];
arr[j] = arr[minINdex];
arr[minINdex] = temp;
}
//输出结果
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
主要思想:假设第1个元素是最小值,第一趟就是从第2元素开始到结束选出最小(或最大)的一个元素,和第1个元素交换,第二趟就是从第3元素开始到结束选出最小(或最大)的一个元素,和第3个元素交换,以此类推,直到全部待排序的数据元素排完。
代码实现:
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = { 79, 56, 90, 4, 32, 27, 16, 88, 35 };
int temp = 0;
//选择排序
for(int j=0;j<arr.length-1;j++){
//假设第一个数最小
int min = arr[j];
//最小数下标
int minINdex = j;
//寻找最小数
for(int k=j+1;k<arr.length;k++){//从第二个数开始
if(min >arr[k]){
min = arr[k];
minINdex = k;
}
}
//找到最小值,交换
temp = arr[j];
arr[j] = arr[minINdex];
arr[minINdex] = temp;
}
//输出结果
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}