計數排序通過將元素之間的大小差別轉化為陣列中下標距離進行排序,陣列下標距離代表兩元素差,陣列內的值代表這個大小的元素出現的次數
public class test
int max = integer.min_value;
int min = integer.max_value;
//找出陣列中的最大最小值
for(int i = 0; i < arr.length; i++)
//設定輔助陣列大小為最大值
//輔助陣列將最小值設定為下標0,從最小值到最大值之間的每乙個可能出現的數字均可找到對應的下標
int help = new int[max];
//找出每個數字出現的次數
for(int i = 0; i < arr.length; i++)
int index = 0;
for(int i = 0; i < help.length; i++)
}return arr;
}public static void main(string args) ;
int num = sort(test);
system.out.println(arrays.aslist(num));
}}
排序演算法 java 版
第一 選擇排序 外層迴圈從第i個位置開始尋找最小值與i 1位置的元素進行交換,最終達到有序狀態。有點遞迴的思想,每次都是在i length中尋找最小值放在i 1的位置 第一層for迴圈,從陣列的索引1處開始向後值陣列結束,尋找最小值。public int selectsortmethod int v...
演算法 排序 計數排序
計數排序不是基於比較的排序演算法,其核心在於將輸入的資料值轉化為鍵儲存在額外開闢的陣列空間中。作為一種線性時間複雜度的排序,計數排序要求輸入的資料必須是有確定範圍的整數。計數排序 counting sort 是一種穩定的排序演算法。計數排序使用乙個額外的陣列c,其中第i個元素是待排序陣列a中值等於i...
演算法 排序 計數排序
計數排序的核心思想就是將需要排序的陣列的元素轉為下標,在輔助空間陣列 輔助空間陣列的初始都是0 中找到對應元素的下標位置,將該位置的元素 掃瞄下標,將對應不為0的下標記錄賦值給原陣列,然後對應下標元素 圖例分析 具體 includevoid countsort int a,int len int m...