• [数据结构]计数排序


    一,计数排序

    计数排序

    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. #include <stdio.h>  
    2. void COUNTINGSORT(int *A, int *B, int array_size, int k)  
    3. {  
    4.         int C[k+1], i, value, pos;  
    5.         for(i=0; i<=k; i++)  
    6.         {  
    7.             C[i] = 0;  
    8.         }  
    9.         for(i=0; i< array_size; i++)  
    10.         {  
    11.             C[A[i]] ++;  
    12.         }  
    13.         for(i=1; i<=k; i++)  
    14.         {  
    15.             C[i] = C[i] + C[i-1];  
    16.         }  
    17.         for(i=array_size-1; i>=0; i--)  
    18.         {  
    19.             value = A[i];  
    20.             pos = C[value];  
    21.             B[pos-1] = value;  
    22.             C[value]--;  
    23.         }  
    24. }  
    25.          
    26. int main()  
    27. {  
    28.         int A[8] = {2, 5, 3, 0, 2, 3, 0, 3}, B[8], i;  
    29.         COUNTINGSORT(A, B, 8, 5);  
    30.         for (i=0; i<= 7; i++)  
    31.         {  
    32.             printf("%d ", B[i]);  
    33.         }  
    34.         printf(" ");  
    35.         return 0;  
    36. }  


    适用范围:待排序的数最大值和最小值之差大小有限。

  • 相关阅读:
    ACE 的一些词汇
    odbc连接不上,初步猜想是myodbc安装有问题
    1分钟 当数据库管理员
    硬件申请
    编译删除
    ASP.NET之数据绑定
    发布、订阅、复制、同步SQL Server 2000 数据库
    SQL——添加约束的语句
    SQL——规则
    十大著名黑客—— 凯文米特尼克
  • 原文地址:https://www.cnblogs.com/zhiliao112/p/4237187.html
Copyright © 2020-2023  润新知