/**
* 选择排序算法
* 在数组中找到最小元素,放在第0个位置;
* 再找到次最小元素,放在第1个位置;再找到第三最小元素,放在第2个位置;
* 以此类推,直到所有元素排序完成
* @param array
*/
public static void SelectSort(int[] array){
int temp, min, m;
for(int i = 0; i < array.length; i++){
min = array[i];
m = i;
for(int j = i + 1; j < array.length; j++){
if(min > array[j]){
min = array[j];
m = j;
}
}
if(m != i){
temp = array[i];
array[i] = min;
array[m] = temp;
}
}
}
public static void Bubble(int[] array){
int temp;
for(int i = 0; i < array.length - 1; i++){
for(int j = 0; j < array.length - 1 - i; j++){
if(array[j] > array[j + 1]){
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
Go语言
func bubbleSort(a[]int){
if a == nil || len(a) == 0 {
return
}
var temp int
for i := 0; i < len(a) - 1; i++ {
for j := 0; j < len(a) - 1 - i; j++ {
if a[j] > a[j + 1] {
temp = a[j]
a[j] = a[j + 1]
a[j + 1] = temp
}
}
}
}
func selectSort(a []int) {
var temp, min, m int
for i := 0; i < len(a); i++ {
min = a[i]
m = i
for j := i + 1; j < len(a); j++ {
if min > a[j] {
min = a[j]
m = j
}
}
if i != m {
temp = a[i]
a[i] = a[m]
a[m] = temp
}
}
}