排序算法之基数排序 您所在的位置:网站首页 word反馈单号从小到大排序怎么排列 排序算法之基数排序

排序算法之基数排序

2024-07-11 22:45| 来源: 网络整理| 查看: 265

一、例子演示 现有如下序列:{3,44,38,5,47,15,36,32,50},现在要利用基数排序算法对这9个元素进行从小到大的排序,怎么排呢? 首先,排序的初始化状态如图1所示

                       

                                                                  图1:初始化状态

第二,将这9个元素按个位分配到相应的位置上,如图2所示

                      

                                                                  图2:按个位分配后的结果

第三,将第二步分配好的结果按顺序取出,因为是按个位排序的,所以取出来的元素一定是按个位有序的,如图3所示

                      

                                                                 图3:将元素按顺序取出

第四,将元素按十位放入到相应的位置,上一步的数是按个位有序的,现在按十位放入相应的位置,放入之后,对于每个位置而言,都是大数在上面,小数在下面,如图4所示

                      

                                                                 图4:将元素按十位放入到相应的位置

第五,因为是从小到大排序,将元素从左往右,从下到上依次取出,如图5所示

                      

                                                                 图5:最终结果

 

二、 算法思想

排序算法是一种非比较算法,其原理是将整数按每个位数分别比较。它利用了桶的思想。代码确实不怎么好写,还是需要仔细分析和钻研代码的。

三、代码实现 #include using namespace std; int temp[100]; int bucket[10]; int maxBit(int data[],int n) { //行这些代码在求n个元素的最大值 int maxData = data[0]; for(int i=1;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有