計數排序是一種在任何程式語言中都發揮關鍵作用的演算法,Java 也是如此。計數排序演算法的主要目標是根據以小整數形式出現的鍵對物件集合進行排序,以用於對演算法進行排序。它主要對鍵值對進行操作和計數,根據輸出序列呈現元素的位置。 這種排序的運行時間與項目成線性關係,然後鍵值之間的差異位於最大值和最小值之間。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法
Java 中執行計數排序沒有特定的語法,但有一個邏輯流程,以演算法的形式逐步根據輸入執行計數排序,表示如下:
Class name { Method name following sorting () { # Find the length of array defined; #the output character array will have sorted array #Create a count arr to store count of each element, characters and initialize it 0 #Store count of each character element in the array #Build output character and write the logic to make it operated in reverse order #that builds output can now be copied from the previous array to the current #Make use of the driver code to move and proceed. }
程式透過考慮一些輸入和輸出序列集作為 Java 排序的一部分來示範計數排序。
代碼:
public class Counting_Sort_1{ void sort_0(char arr_0[]) { int n_8 = arr_0.length; char output_val[] = new char[n_8]; int count_0[] = new int[528]; for (int l_0 = 0; l_0 < 528; ++l_0) count_0[l_0] = 0; for (int y_1 = 0; y_1 < n_8; ++y_1) ++count_0[arr_0[y_1]]; for (int l_0 = 1; l_0 <= 526; ++l_0) count_0[l_0] += count_0[l_0 - 1]; for (int l_0 = n_8 - 1; l_0 >= 0; l_0--) { output_val[count_0[arr_0[l_0]] - 1] = arr_0[l_0]; --count_0[arr_0[l_0]]; } for (int l_0 = 0; l_0 < n_8; ++l_0) arr_0[l_0] = output_val[l_0]; } public static void main(String []args){ Counting_Sort_1 ob = new Counting_Sort_1(); char arr_0[] = { 's', 'a', 'r', 'c', 's', 'f', 'o', 'i', 'n', 'c', 'a', 'r', 'm' }; ob.sort_0(arr_0); System.out.print("Sorted_character_array_in_Counting_Sort "); for (int l = 0; l < arr_0.length; ++l) System.out.print(arr_0[l]); } }
輸出:
說明
在上面的範例中,我們在 Java 中實作了計數排序,其中遵循以下步驟才能正確執行:
計數排序是一種排序演算法,應用於由一系列元素組成的陣列上進行排序。排序將基於數組中存在的鍵和值對或最小值或最大值的差異。當需要批量使用整數實作時,計數排序給開發者提供了很多幫助。
以上是java中的計數排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!