氣泡排序
對於給定的n個記錄,從最後乙個記錄開始依次對相鄰的兩個記錄進行比較,當後面的記錄小於前面的記錄時,交換位置,進行一輪比較和換位後,n個記錄中最小記錄將位於第1位;然後對後(n-1)個記錄進行第二輪比較;重複該過程直到進行比較的記錄只剩下乙個為止。
public class solution1
public static void sort(int a,int low,int high)
} public static void main(string args);
myminheapsort(a);
for(int i=0;i插入排序
對於給定的一組記錄,初始時假設第乙個記錄自成乙個有序序列,其餘記錄為無序序列。接著從第二個記錄開始,按照記錄的大小依次將當前處理的記錄插入到其之前的有序序列中,直至最後乙個記錄插入到有序序列中為止。
public class solution4
}a[j]=temp;}}
} public static void main(string args);
insertsort(a);
for(int i=0;i選擇排序
對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄與第乙個記錄的位置進行交換;接著對不包括第乙個記錄的其他記錄進行第二輪比較,得到最小的記錄並與第二個位置交換;重複該過程,直到進行比較的記錄只有乙個時為止。
public class selectsort else
}// 把左邊剩餘的數移入陣列
while (i <= mid)
// 把右邊邊剩餘的數移入陣列
while (j <= high)
// 把新陣列中的數覆蓋nums陣列
for (int k2 = 0; k2 < temp.length; k2++)
}public static void mergesort(int a, int low, int high)
}public static void main(string args) ;
mergesort(a, 0, a.length - 1);
system.out.println("排序結果:" + arrays.tostring(a));}}
二分查詢
public class binarysearch
else if(index>array[mid])else
}return -1;
}public static void main(string args);
system.out.println(sort(a,10,0,a.length-1));
}}
**粘進**框,格式有些問題,調整不了,逼死強迫症啊!啊!啊!!! Java排序演算法總結
前面講了10種基本的排序演算法,現在來作下總結,基於下面幾個方面來比較各個排序演算法的優劣 時間複雜度,空間複雜度,穩定性,適用場景 排序演算法 時間複雜度 空間複雜度 穩定性適用場景 直接選擇排序 o n 2 o 1 不穩定時間效率不高,但是空間效率很高,演算法實現比較簡單 堆排序o nlogn ...
排序演算法總結 java
1 歸併排序 mergesort 歸併 排序具體工作原理如下 假設序列共有n個元素 將序列每相鄰兩個數字進行歸併操作 merge 形成floor n 2 個序列,排序後每個序列包含兩個元素 將上述序列再次歸併,形成floor n 4 個序列,每個序列包含四個元素 重複步驟2,直到所有元素排序完畢 時...
Java 各種基礎的查詢和排序演算法總結
查詢方法 1.順序查詢。按陣列的順序從前往後一直比較,直到找到目標值返回。優點 對陣列的結構沒有特定的要求,演算法簡單。缺點 當陣列個數n較大時,效率低下。時間複雜度 最大時間複雜度是o n 最小時間複雜度是o 1 平均時間複雜度是o n 2 順序查詢演算法 param array 陣列 param...