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; } }