Java-排序-冒泡-选择

Java-排序

1.冒泡排序:冒泡排序的时间复杂度是O(N2)

解析:冒泡排序需要 i(arr.length-1)趟

import java.util.Arrays;

/**
 * 冒泡排序
 * @author chenzuyi
 *
 */
public class BubbleSort {
	
	
	public static void main(String[] args) {
		int[] arr = {20,40,30,10,60,50};
		int[] newArr = BubbleSort.bubbleSort(arr);
		System.out.println(Arrays.toString(newArr));
	}
	public static int[] bubbleSort(int[] arr){
		
		for(int i=0;i<arr.length-1;i++){   //轮数
			for(int j=0;j<arr.length-i-1;j++){   //当前索引
				if(arr[j]>arr[j+1]){
					int temp = arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		return arr;
	}
}

2.选择排序:选择排序的时间复杂度是O(N2)。


import java.util.Arrays;

public class SelectSort {
	public static void main(String[] args) {
		int[] arr = {20,40,30,10,60,50};
		int[] newArr = SelectSort.selectSort(arr);
		System.out.println(Arrays.toString(newArr));
	}
	
	public static int[] selectSort(int[] arr){
		for(int i=0;i<arr.length-1;i++){           //定义每次比较所选取的位置
			for(int j=i+1;j<arr.length;j++){       //与所选的值进行比较
				if(arr[i]>arr[j]){
					int temp = arr[j];
					arr[j]=arr[i];
					arr[i]=temp;
				}
			}
		}
		return arr;
	}
}

猜你喜欢

转载自blog.csdn.net/chenzuyibao/article/details/80656179