当前位置: 首页 > news >正文

大连建网站策划上海待遇好的十大外企

大连建网站策划,上海待遇好的十大外企,家具网站开发项目计划书,扬州网页制作公司基数排序是桶排序的一种,算法思路为: 利用队列进行数据收发创建一个队列数组,数组大小为10,每个元素都是一个队列,存储取模为1~9的数从低位到高位进行数据收发,完成排序适用于数据位不高的情况&#xff08…

基数排序是桶排序的一种,算法思路为:

  1. 利用队列进行数据收发
  2. 创建一个队列数组,数组大小为10,每个元素都是一个队列,存储取模为1~9的数
  3. 从低位到高位进行数据收发,完成排序
  4. 适用于数据位不高的情况(若不知道数据集的最大位数,则只能往大了猜,降低效率)

基数排序是不稳定排序算法,时间复杂度为O(K*n),K为数据最大位数,也可表示为O(n)

虽然基数排序有着非常优秀的效率,甚至比快排还快,但是由于算法受限于数据的位数,因此并不常见。

代码示例,假设测试数据数组元素最大位数为3:

#define _CRT_SECURE_NO_WARNINGS 1#include <iostream>
#include <queue>
using namespace std;// 数据最大位数
#define K 3		// 取模的类别数(桶数、基数)
#define RADIX 10// 桶
queue<int> _q[RADIX];// 获取val值对应桶的位置,即哈希映射
int GetPos(int a, int k)
{int pos = a % RADIX;while (k--){a /= RADIX;pos = a % RADIX;}return pos;
} // 分发数据,将数组数据按模分发到哈希桶上
void Distribute(int* arr, int left, int right, int k)
{for (int i = left; i < right; ++i){int pos = GetPos(arr[i], k);_q[pos].push(arr[i]);}
} // 收集数据,根据队列的特性从哈希桶上收集数据,存入数组
void Collect(int* arr)
{int pos = 0;for (int i = 0; i < RADIX; ++i){while (!_q[i].empty()){arr[pos++] = _q[i].front();_q[i].pop();}}
} void RadixSort(int* arr, int n)
{int k = 0;while (k < K){Distribute(arr, 0, n, k++);Collect(arr);}
} /*----------测试模块---------- */// 打印数组
void PrintArr(int* arr, int n)
{for (int i = 0; i < n; ++i){printf("%4d", arr[i]);} cout << endl;
} void TestRadixSort()
{cout << "基数排序:";int arr[20] = {112, 23, 5, 17, 129, 0, 211, 4, 61, 8,511, 51, 25, 10, 210, 111, 3, 5, 18, 6};RadixSort(arr, 20);PrintArr(arr, 20);
} int main()
{TestRadixSort();return 0;
}

运行结果:

http://www.yayakq.cn/news/28049/

相关文章:

  • 网站代码是多少把国外的网站翻译过来做自媒体
  • 个体户可以做网站建设查看网站架构
  • 建设部网站安全考核证书查询百度热搜关键词排名
  • 劳务公司网站怎么做免费销售管理系统软件
  • php网站开发实例教程代码网站开发分层
  • 做外贸没有网站需要注意什么条件国内最新新闻事件摘抄
  • 哈尔滨住房和城乡建设厅官方网站芜湖网站建设兼职
  • 做外贸网站注册什么邮箱网站网页设计平台
  • 树苗网站源码网站建设需要会什么
  • 用php做视频网站有哪些visual composer for wordpress
  • 网站验收确认万网速成网站
  • 泰安吧seo推广公司 什么意思
  • 高大上的自助建站网站茂名模板建站哪家好
  • 做静态网站多少钱怎么免费查企业电话
  • 建设网站一般要多久大学生服装网站建设策划书
  • 三明建设网站php做企业网站需要多久
  • 高密专业网站建设价格如何制作一个个人网页
  • 特效素材免费网站网站seo优化的目的
  • 网站建设工资郑州张家明做网站
  • 手机企业网站建设开发网站推广的网站作用
  • 广州专业网站设计公司网站建设与制作区别
  • 怎么查那家网络公司做的所以网站wordpress资讯APP
  • 如何才能让自己做的网站百度能搜中咨城建设计有限公司官方网站
  • 盐城网站建设代理商网站建设与管理ppt
  • 网站怎么做音乐外链网站建设风格
  • 青岛网站美工规模以上工业企业认定标准
  • 建设电子商务网站期末考试织梦论坛源码
  • 北京网站建设推ui设计就业方向有哪些?
  • 中国专门做统计网站百姓网二手买卖
  • 做微信小程序是不是不用做网站做ic贸易去什么网站好