一、简单排序
1 冒泡排序
算法步骤:
- 每一组相邻的元素两两比较。如果第一个比第二个大(按从小到大排序),就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。
- 针对所有的元素重复以上的步骤,除了最后一个。每次这一步做完后,倒数第一个、第二个元素...依次会是第一大、第二大的数...
- 持续每次对越来越少的未排序元素重复上面的步骤,直到没有任何一对数字需要比较。
//i从1开始,一是为控制内循环次数,二是外层循环次数为length-1次(最后一个单数不需要比较)
for (int i = 1; i < nums.length; i++){
//每完成一次内循环,就减少一次比对,所以i会作为控制内循环的一个参数
//用于两两相邻元素[j]与[j+1]比较
for(int j = 0; j < nums.length-i; j++){
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
2 选择排序
算法步骤:
- 首先&#x