首页 > 代码库 > 排序练习
排序练习
插入排序
public static int[] insert_sort(int arr[]){ int i = 0,temp; //插入排序 for(int j = 1;j<arr.length ;j++){ //遍历外层循环,从第2个数开始 temp=arr[j]; i=j-1; while(i>0 && arr[i]>temp){ arr[i+1]=arr[i]; i--; } arr[i+1]=temp; } return arr; }
冒泡排序
public static void bubbleSort(int arr[]){ int temp = 0 ; for(int i = 0 ;i<arr.length-1;i++){ for(int j = 0 ; j<arr.length-1-i;j++){ if(arr[j+1]<arr[j]){ temp=arr[j+1]; arr[j+1] =arr[j]; arr[j]=temp; } } } }
插入排序
public static void swap(int a[], int i, int j) { if(i == j) return; int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } public static int partition(int arr[],int start,int end){ int i=start-1; int key = arr[end]; for(int j = 0 ; j<end;j++){ if(arr[j]<key){ i++; swap(arr, i, j); } } swap(arr, i+1, end); return i+1; } public static void quickSort(int array[], int start, int end) { if (start< end) { int p = partition(array, start, end); quickSort(array, start, p - 1); quickSort(array, p + 1, end); } }
排序练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。