冒泡排序
for(inti=0;i<arr.length-1;i++){
for(intj=0;j<arr.length-1-i;j++){
if (arr[j] > arr[j + 1]) {
int temp = arr[j] ;
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
直接选择排序
for(int i = 0; i < arr.1ength - 1; 1++){
for(int j = i;j < arr.1ength;j++){
if(arr[i] > arr[j]){
int temp = arr[i] ;
arr[i] = arr[j] ;
arr [j] = temp;|
}
}
}
这种写法可以优化一下,交换的次数少
for(int i = 0; i < arr.length - 1; i++){
int t = i;//默认i处是最小的
for(int j = i;j < arr .length;j++){
//一旦在后发现存在比其小的元素,就记录那个元素的下角标
if(arr[t] > arr[j] ){
t =j;
}
}
if(t != i){
int temp = arr[t];
arr[t]=arr[1];
arr[ i] = temp;
}
}