面试有可能会被问到
一:冒泡排序
相邻两个数据进行比较
需要注意的点:内部循环的话,只能比较到未确定的最后一个数据为止(arr.length-1-i)
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
二:选择排序
将当前位置的数据作为最小值,依然和后面的数据进行比较,如果还有更小的,记录下坐标,直到循环结束
如果确实有更小的,就将位置进行互换
注意点:minIndex=j
for(int i=0;i<arr.length-1;i++){
minIndex=i;
for(int j=i+1;j<arr.length;j++){
if(arr[minIndex]>arr[j]){
minIndex=j;
}
if(minIndex!=i){
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
}