真的用不上,排序算法
冒泡排序(稳定)
思想:每一遍将最大的数下沉
复杂度:n^2
- public void bubbleSort(int[] arr,int n){ boolean flag; for (int i = 1; i < n; i++) { flag = false; for (int j = 0; j < n-i; j++) { if(arr[j] 0; j--) { if (arr[j] < arr[j - 1]) { int temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } else { break; } } } }
复制代码 希尔排序(不稳定)
思想:每次根据incre(初始为数组商都)/2,举行插入排序
复杂度:n^1.5
[code]public void shellSort(int arr[],int length){ int temp = 0; int incre = length; while(true){ incre = incre /2; //对分组举行遍历 for (int i=0;i= 0; i--) { MinHeapFixdown(a, i, n); } } /** * 整理小顶堆,从i节点开始调解,从0开始盘算,i节点的子节点为 2*i+1, 2*i+2 * * @param a 所有节点 * @param i 第i个节点 * @param n 节点总数 */ public static void MinHeapFixdown(int a[], int i, int n) { int j = 2 * i + 1; //左节点 int temp = 0; //j |