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

莆田网站建设电话当涂网站建设

莆田网站建设电话,当涂网站建设,物流信息平台,上海制作网站公司目录 一、选择排序二、计数排序 一、选择排序 整体思想#xff1a; 从数组中选出最小值和最大值放在起始位置#xff0c;直到排序完成 具体步骤#xff1a; 定义两个变量begin和end为下标#xff0c;指向数组始末定义要找的最大值的下标为maxi#xff0c;最小值的下标为… 目录 一、选择排序二、计数排序 一、选择排序 整体思想 从数组中选出最小值和最大值放在起始位置直到排序完成 具体步骤 定义两个变量begin和end为下标指向数组始末定义要找的最大值的下标为maxi最小值的下标为mini刚开始初始化为begin因为begin和end会缩小也就是说找最大和最小的范围为当前begin和end之间的范围找到最大值的下标和最小值的下标然后把最小值与begin位置的值交换这里要考虑特殊情况最后再交换最大值和end位置的值beginend–缩小范围再重复前面的步骤 图示 代码 void SelectSort(int* a, int n) {//数组的范围int begin 0, end n - 1;while (begin end)//控制范围{// maxi和mini是下标从begin开始因为begin会变化int maxi begin, mini begin;//找最大元素的下标和最小元素的下标for (int i begin; i end; i)//注意找的范围{if (a[i] a[maxi]){maxi i;}if (a[i] a[mini]){mini i;}}//最小值与begin的位置交换Swap(a[begin], a[mini]);//特殊情况如果maxi与begin重叠此时最大值的下标在miniif (begin maxi){maxi mini;}//最大值与end的位置交换Swap(a[end], a[maxi]);//缩小范围begin;--end;} }特性总结 时间复杂度O(N ^ 2)空间复杂度O(1)不稳定 二、计数排序 计数排序采用相对映射的思想开辟一块空间该空间的范围为待排序的数组的最大值和最小值之差加1并且每个元素初始化为0然后待排序的数组只要是出现的元素就在临时空间对应的位置计数最后从小到大恢复原来的元素重新放入数组完成排序。 思路 在数组中找到最大值max和最小值min算出最大与最小之间有多少个数范围rangemax-min1开临时空间大小为range每个元素初始化为0待排序数组的元素减去最小值min即对应临时空间的下标原数组出现的元素会在临时空间对应的位置计数从小到大遍历临时空间数组只要不为0说明该位置是对应原数组有出现的元素然后依次重新放入原数组临时空间的下标加上最小值恢复到原数组的元素的值。 图示 代码 void CountSort(int* a, int n) {//找最大值和最小值int max a[0], min a[0];for (int i 0; i n; i){if (a[i] max){max a[i];}if (a[i] min){min a[i];}}//最大值与最小值的差int range max - min 1;//开空间每个元素为0后面要计数int* count (int*)calloc(range, sizeof(int));if (count nullptr){perror(calloc fail);exit(-1);}//给出现的元素计数for (int i 0; i n; i){count[a[i] - min];}//从小到大重新放入数组完成排序int j 0;for (int i 0; i range; i){while (count[i]--)//该位置有元素{a[j] i min;//恢复原来的元素依次放入数组}}free(count); }特性总结 计数排序适用于数据较集中的场景时间复杂度O(Nrange)空间复杂度O(range)稳定
http://www.yayakq.cn/news/5446/

相关文章:

  • 新浪博客网站简约大方的网站
  • 网站建设学习心得黄骅港客运站电话号码
  • 阿里云上如何用iis做网站app定制开发最牛青岗科技公司
  • 服务器有了怎么做网站会员制营销方案案例
  • 深圳营销型网站建设制作商网站升级应注意的问题
  • 建网页和建网站wordpress邮箱配置stmp
  • 中国建设工程造价网站10000ip网站怎么做
  • 游戏网站建设成功案例北京seo多少钱
  • 网站建设项目维护与评价书无为网站设计
  • 网站流量工具手机网站大概多少钱
  • 做二手车按揭的网站备案号查询网站网址
  • 网站建设与维护流程图网站制作教程切片
  • iis网站防盗链怎么做营销型网站
  • 旅游网站手机模板因酷西安网站建设公司怎么样
  • 濮阳家电网站建设网站头部 标签
  • 企业网站推广的方法有哪几种discuz 科技网站模板
  • 做网站绿标电脑培训班
  • 公司为什么要建立网站南通网站公司网站
  • 电子拜年贺卡在线制作网站全网推广推荐
  • 建设一个网站论坛要多少钱电子商务网站模板
  • 凡科建设网站图片怎么删除发软文的平台
  • 用meteor框架做的微博网站招聘网最新招聘
  • 建网站程序工具下载软件的应用app
  • 搜索引擎网站的搜素结果有何区别深圳企业网站制作推广运营
  • 上海备案证查询网站彩视网站建设策划
  • 建立能网上交易的网站多少钱wordpress 提交插件
  • 福建省住房和城乡建设厅网站首页江苏网站开发公司
  • 微信开发网站制作企业名录搜索
  • 创建网站的免费软件国内个人网站首页布局
  • 网络商城网站怎样做关键词优化网站的交流的功能怎么做