1、选择排序
Ÿ 利用原理是:从第0个下标开始进行比较和较大的数进行换位(借用第三方变量)第一次比较完后,从第1个小标开始进行比较和较大的数进行换位(借用第三方变量)
Ÿ 特点:第一次都比较完后,最小的数出现在了0下标位置上嵌套的for来完成
2、冒泡排序
相邻两个数据进行比较,根据结果换位
两种排序示意图
3、代码实例
/*
选择排序的三个步骤
1. 遍历数组,把数组中每个元素分别取出
2. 出去后,进行大小的比较
3. 进行数组的换位置
*/
//选择排序
for (int x = 0; x < arr.length - 1; x++) {
for (int y = x + 1; y < arr.length; y++) {
// x=1 y=1+1=2
if (arr[x] > arr[y])// arr[1]>arr[2]
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
/*
定义函数实现冒泡排序
1. 确定函数运算后没有返回值
2. 不确定的数据就是数组
说明:
内圈循环,-x是为了比较的次数一次一次在减少
-1是为了防止数组越界异常
希尔排序,公认的效率最高的排序方式
插入形式的排序算法
*/
//冒泡排序
for(int x =0 ;x
arr[y+1]){
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}