码迷,mamicode.com
首页 > 编程语言 > 详细

计数排序的优化版

时间:2020-09-18 02:07:15      阅读:31      评论:0      收藏:0      [点我收藏+]

标签:style   最大   new   return   static   计数排序   比较   count   pre   

 1

/// <summary>
/// 与传统比较的排序算法不一样的排序的手段,使用下标来确定正确位置的排序方法
/// </summary>
/// <param name="array"></param>
/// <returns></returns>

private static int[] CountSort(int[] array)
 2         {
 3             int max = array[0];
 4             int min = array[0];
 5             // 找出最大的数
 6             for (int i = 1; i < array.Length; i++)
 7             {
 8                 if (max < array[i])
 9                 {
10                     max = array[i];
11                 }
12                 if (min > array[i])
13                 {
14                     min = array[i];
15                 }
16             }
17             int[] countArray = new int[max - min + 1];
18             for (int i = min; i < array.Length; i++)
19             {
20                 countArray[array[i]]++;
21             }
22 
23 
24             int index = 0;
25             for (int i = min; i < countArray.Length; i++)
26             {
27                 for (int j = 0; j < countArray[i]; j++)
28                 {
29                     array[index++] = i;
30                 }
31             }
32             return array;
33         }

计数排序的优化版

标签:style   最大   new   return   static   计数排序   比较   count   pre   

原文地址:https://www.cnblogs.com/icxk/p/13673086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!