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

上海知名网站网站开发的过程

上海知名网站,网站开发的过程,网站产品动效怎么做,天河网站建设哪家好统计每个元素出现的次数,直接计算元素在有序序列中的位置,要求数据是整数且范围有限。适用于数据为小范围整数(如年龄、成绩),数据重复率较高时效率更优。可用于小范围整数排序、基数排序的底层排序(作为基数排序的稳定…

统计每个元素出现的次数,直接计算元素在有序序列中的位置,要求数据是整数且范围有限。适用于数据为小范围整数(如年龄、成绩),数据重复率较高时效率更优。可用于小范围整数排序、基数排序的底层排序(作为基数排序的稳定排序子过程)、统计频率分布(快速获取元素分布直方图)、海量数据预处理(配合外部排序处理大数据文件)

#include <stdlib.h>
#include <assert.h>// 计数排序核心函数(稳定排序版本)
void countingSort(int arr[], int n) {if (n <= 1) return; // 无需排序// 1. 确定数据范围int max = arr[0], min = arr[0];for (int i = 1; i < n; i++) {if (arr[i] > max) max = arr[i];if (arr[i] < min) min = arr[i];}const int range = max - min + 1; // 实际数值范围// 2. 创建计数数组并初始化int* count = (int*)calloc(range, sizeof(int));assert(count != NULL);// 3. 统计每个元素出现次数for (int i = 0; i < n; i++) {count[arr[i] - min]++; // 偏移处理负数}// 4. 计算累计位置(保证稳定性)for (int i = 1; i < range; i++) {count[i] += count[i - 1];}// 5. 反向填充结果数组(关键稳定性操作)int* output = (int*)malloc(n * sizeof(int));assert(output != NULL);for (int i = n - 1; i >= 0; i--) {output[count[arr[i] - min] - 1] = arr[i];count[arr[i] - min]--;}// 6. 复制回原数组for (int i = 0; i < n; i++) {arr[i] = output[i];}// 7. 释放内存free(count);free(output);
}
#include <stdio.h>
// 打印数组
void printArray(int arr[], int size) {for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}printf("\n");
}int main() {// 测试数据(包含负数)int arr[] = {-5, 2, -3, 4, 1, 2, 8, 5, 3, -1};int n = sizeof(arr) / sizeof(arr[0]);printf("排序前: ");printArray(arr, n);countingSort(arr, n);printf("排序后: ");printArray(arr, n);return 0;
}

优化建议:

1.通过min值偏移处理负数,支持全整数范围排序

2.通过反向遍历填充输出数组,保留相同元素的原始顺序,已保证稳定性

3.动态计算range值,避免不必要的内存浪费

void countingSortSpaceOptimized(int arr[], int n) {// ...(省略范围计算步骤)...// 直接根据计数数组覆盖原数组(非稳定)int idx = 0;for (int i = 0; i < range; i++) {while (count[i]-- > 0) {arr[idx++] = i + min;}}
}

http://www.15wanjia.com/news/166283.html

相关文章:

  • 查询网站是否正规扶贫基金会网站建设是哪家公司
  • 山东省建设局网站网站提交百度了经常修改网站
  • 猪八戒托管赏金做网站qq是腾讯旗下的吗
  • 网站点击后的loading是怎么做的wordpress 千万级数据
  • 网站访问速度跟服务器cpu和内存和带宽哪个重要wordpress h5
  • 网站推广策划方案3000字邯郸单位网站建设
  • 做网站怎么维护网站取消备案
  • 阜宁网站制作服务工厂办公室简单装修
  • 百度做网站的公司优化seo教程
  • 网站制作的页面比例公司网址格式怎么写
  • 好网站123网站公司网站搭建
  • 外国的html 素材网站wordpress 无法访问文章
  • sns网站社区需求分析文档网页设计文案
  • 如何在网站投放广告中国建设网官方网
  • 做韦恩图的网站大连网站建设方案咨询
  • 一个在线做笔记的网站wordpress主题cute
  • 网站关键词在哪里做建设银行支付宝网站
  • 做网站需要学会什么网站运营优化方案
  • 西安市住房和城乡建设局门户网站手机网页开发
  • 怎么做自己的个人网站网站首页标题怎么设置
  • 有哪些做的好看的网站企业做网站哪家便宜
  • 上海机械网站建设wordpress 4.7.0
  • wordpress模板top破解版wordpress如何优化页面
  • 璧山集团网站建设婚纱外贸soho建哪种网站好
  • 做网站网站加载内容慢怎么解决编程课哪个培训机构好
  • 学 网站开发长春网站快照优化公司
  • 建设短视频网站河北建设厅录入业绩的网站
  • 哈尔滨教育云平台网站建设手机网站如何做优化
  • 阿里云网站空间购买网站容易做吗
  • 企业网站建设解决方案百度云域名注册