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

怎样创建网站或网页网站建设 表扬信

怎样创建网站或网页,网站建设 表扬信,广告多的网站,wordpress 评论 楼层计数排序(Counting Sort)是一种非比较型排序算法,适用于一定范围内的整数排序。它的基本思想是通过计数输入元素中每个值出现的次数,然后计算每个值的起始位置,最终将元素放到正确的位置上。计数排序的时间复杂度为 O(…

计数排序(Counting Sort)是一种非比较型排序算法,适用于一定范围内的整数排序。它的基本思想是通过计数输入元素中每个值出现的次数,然后计算每个值的起始位置,最终将元素放到正确的位置上。计数排序的时间复杂度为 O(n + k),其中 n 是输入数组的长度,k 是输入元素的范围。

以下是计数排序的 Java 实现:

import java.util.Arrays;  public class CountingSort {  // 计数排序算法  public static void countingSort(int[] array) {  if (array.length == 0) {  return;  }  // 找到数组中的最大值和最小值  int max = array[0];  int min = array[0];  for (int num : array) {  if (num > max) {  max = num;  }  if (num < min) {  min = num;  }  }  // 计算范围大小  int range = max - min + 1;  // 创建计数数组并初始化  int[] countArray = new int[range];  Arrays.fill(countArray, 0);  // 统计每个元素出现的次数  for (int num : array) {  countArray[num - min]++;  }  // 计算每个元素在排序后数组中的位置  int index = 0;  for (int i = 0; i < countArray.length; i++) {  while (countArray[i] > 0) {  array[index++] = i + min;  countArray[i]--;  }  }  }  // 测试计数排序算法  public static void main(String[] args) {  int[] array = {4, 2, 2, 8, 3, 3, 1};  System.out.println("排序前: " + Arrays.toString(array));  countingSort(array);  System.out.println("排序后: " + Arrays.toString(array));  }  
}

代码说明:

  1. 找到数组中的最大值和最小值:遍历数组,找到其中的最大值和最小值,以便确定计数数组的范围。

  2. 创建计数数组:根据最大值和最小值计算范围大小,并创建计数数组。计数数组的长度为 max - min + 1

  3. 统计每个元素出现的次数:遍历输入数组,将每个元素减去最小值,对应到计数数组的索引位置,并增加计数。

  4. 计算每个元素在排序后数组中的位置:遍历计数数组,根据每个元素的计数,将其在输入数组中的位置设置好。

  5. 测试代码:在 main 方法中,创建一个测试数组,调用计数排序方法,并输出排序前后的数组。

注意事项:

  • 计数排序适用于范围较小的整数排序,对于范围很大的整数,计数数组可能会占用过多内存。
  • 计数排序是稳定的排序算法,即相同元素的相对位置在排序前后不会改变。

通过这种方法,你可以高效地对特定范围内的整数进行排序。

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

相关文章:

  • 手机网站建设分析服务类网站建设服务公司
  • 做网站要知道哪些代码石景山成都网站建设
  • 婚庆公司网站模板下载优化wordpress后台速度
  • 智能小程序WordPressseo博客
  • 做跨境电商有没推荐的网站自己做网站买东西
  • 做英文网站 用阿里服务器行吗网站建设需求原型
  • asp服装网站源码连云港百度总代理
  • 成都英文网站建设google play下载官方版
  • 个人免费网站注册免费邮箱163登录入口
  • 论坛类的网站怎么做中国室内设计师网首页
  • 公司建设网站的注意事项wordpress mysql缓存
  • 做网站交互大庆市工程建设信息去哪个网站
  • 织梦物流公司网站模板简洁大气wordpress编写模板
  • 软件介绍下载网站建设深圳做网站设计制作开发
  • 学做网站论坛vip账号破解免费装修设计app
  • 先做网站还是先申请域名新乡最新新闻
  • 一个网站怎么优化多语言网站建设方案
  • 做网站免费阳江做网站的公司
  • 苏州公司建站官网seo哪家公司好
  • 企业建网站方案wordpress 表白主题
  • 河北建设网站怎么下载企业锁电商平台的推广及运营思路
  • 四平市网站建设浙江搜索引擎优化
  • 响水网站建设公司网站建设主要步骤
  • 上海锦都建设(集团)有限公司网站在线设计平台现状分析
  • 精品课程网站建设情况做ppt的动图下载哪些网站
  • 可信网站行业验证必须做吗网页历史记录恢复
  • 深圳营销型网站设计wordpress文章微信公众号推送
  • 微信网站与响应式网站有哪些长治网站建设电话
  • 长安做网站公司重庆垫江网站建设
  • 高端品牌网站建设注意事项丽水市莲都区建设局网站