• 线性排序之计数排序


    主流排序是通过比较来确定顺序.而线性排序则是通过运算来确定顺序.

    计数排序的基本思想:对每一个输入的元素X,确定小于X的元素的个数,从而知道X在数组中的位置

    	void CouSort(int src[],int des[],int size,int max)
    	{
    		int i;
    		int temp[100] = {0};
    		for (i = 1; i <= size; i++)
    		{
    			temp[src[i]]++;
    		}
    		for (i = 1; i <= max; i++)
    		{
    			temp[i] += temp[i-1];
    		}
    		for (i = 1; i <= size; i++)
    		{
    			des[temp[src[i]]] = src[i];
    			temp[src[i]]--;
    		}
    
    	}
    输入数据:

    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7


    第一个for循环之后:

    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    temp

    0

    2

    1

    0

    0

    0

    1

    3

    3

    0

    第二个for循环之后:

    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    temp

    0

    2

    3

    3

    3

    3

    4

    7

    10

    10

    我们就知道在每个元素在数组中应该排的位置
    最后过程如图:

    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    2

    3

    3

    3

    4

    6

    10

    10

    des

     

     

     

     

     

     

    8

     

     

     


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    2

    3

    3

    3

    4

    5

    10

    10

    des

     

     

     

     

     

    8

    8

     

     

     


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    1

    3

    3

    3

    4

    5

    10

    10

    des

     

    2

     

     

     

    8

    8

     

     

     


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    3

    3

    3

    4

    5

    10

    10

    des

    2

    2

     

     

     

    8

    8

     

     

     


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    3

    3

    3

    4

    5

    9

    10

    des

    2

    2

     

     

     

    8

    8

     

     

    9


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    3

    3

    3

    4

    5

    8

    10

    des

    2

    2

     

     

     

    8

    8

     

    9

    9


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    2

    3

    3

    4

    5

    8

    10

    des

    2

    2

    3

     

     

    8

    8

     

    9

    9


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    2

    3

    3

    4

    5

    7

    10

    des

    2

    2

    3

     

     

    8

    8

    9

    9

    9


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    2

    3

    3

    4

    4

    7

    10

    des

    2

    2

    3

     

    8

    8

    8

    9

    9

    9


    下标

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    src

    8

    8

    2

    2

    9

    9

    3

    9

    8

    7

    temp

    0

    0

    0

    2

    3

    3

    3

    4

    7

    10

    des

    2

    2

    3

    7

    8

    8

    8

    9

    9

    9


    排序完成,





  • 相关阅读:
    02 : python 基础语法,流程控制语句
    10 : mysql 主从复制
    docker Dockerfile 参数讲解
    docker service 创建swarm节点服务
    docker image 删除未使用的镜像
    docker config 创建配置文件
    docker wait 命令使用
    docker update 更新容器信息
    docker top 命令使用
    docker tag 修改镜像的标枪
  • 原文地址:https://www.cnblogs.com/zkkkkkky/p/4422997.html
Copyright © 2020-2023  润新知