对比了多种选择排序的写法后,发现这样的写法最简洁,最易理解,貌似也没什么问题?
建议你先看一下选择排序和冒泡排序的概念
这个是冒泡排序
选择排序是这样子:
for(int i=0;i int t=i;
for(int j=i;j if(arr[t]>arr[j]){
t=j
}
}
if(t !=i){
int temp=arr[t];
arr[t]=arr[i];
arr[i]=temp;
}
}
for(int i=0;i int t=i;
for(int j=i;j if(arr[t]>arr[j]){
t=j
}
}
if(t !=i){
int temp=arr[t];
arr[t]=arr[i];
arr[i]=temp;
}
}
复制少了一块,选择排序比冒泡排序的效率高
题目中的第一层for循环是错的,现改正如下
标准的冒泡排序,你这不理解算法思想啊