计数排序是一种在任何编程语言中都发挥着关键作用的算法,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中文网其他相关文章!