1.冒泡排序:(默认为升序)
将数组中的元素从第一个开始依次往后面比较;如果元素左边比右边大就进行交换。假如数组的长度为length,那么第一次需要比较length-1次;第二次则需要进行length-2次,第三次需要进行length-3次…第i次则需要进行length-i次。
2.选择排序:(默认为升序)
找数组中最小值的下标,每轮只交换一次。假如数组的长度为length,那么第一次需要比较length-1次;第二次则需要进行length-2次,第三次需要进行length-3次…第i次则需要进行length-i次。
代码如下:
package Bobble;
public class bobble {
public static void main(String[] args) {
fun1();
}
//冒泡排序
private static void fun1()//方法的调用 {
int [] arr = {1,3,2,11,5,10,4,7,65,8};
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]){
//交换代码
int t = arr[j];
arr[j] = arr[j+1];
arr[j+1] = t;
}
}
}
//输出数组
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i] + " ");
}
}
}
//选择排序
private static void fun2() {
int[] arr = {54,3,12,6,5,10,4,78,9,8};
for (int i = 0; i < arr.length-1; i++) {
int minIndex = i;//设置最小值的下标
//从i到len-1这个范围中找最小值下标
for(int j = i;j < arr.length;j++){
if(arr[j] < arr[minIndex]){
minIndex = j;
}
}
//交换元素
int t = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = t;
}
//输出数组
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i] + " ");
}
}