观毕老师视频有感。
选择排序
for(int i=0;i<arr.length-1;i++){ //arr.length-1是因为当排序到倒数第二个的时候,最后一个数字就不需要再进行循环比较了。
for(int j=i+1;j<arr.length;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++){
for(int j=0;j<arr.length-i-1;j++){//-i是因为每次外循环都让该次循环最大的数字放到最后,下一次这个最大数就不参与循环了。-1是为了避免arr[j+1]的时候角标越界。
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
这两种方法的性能都不高。