一、
函数:void Cou_Sort(int* head,int low,int high)
参数解释
head:数组指针
[low, high]:需排序的数组范围

说明
首先找到数组中最大值与最小值(用于创建计数数组)
然后扫描head开始计数
计数数组生成完毕
扫描计数数组,向head返回非零值对应的下标

#include <stdio.h>
#include <time.h>
#include <math.h>void Cou_Sort(int* head,int low,int high){//排序环境生成int L=high-low+1;//需排序的元素总数int Max=low,Min=low,i=low+1;//找出元素范围int flag;int Dist;while(i<=high){//找出最值if(head[i]>head[Max]){Max=i;}if(head[i]<head[Max]){Min=i;}i++;}Dist=head[Max]-head[Min];int Count[Dist+1];i=0;while(i<=Dist){//初始化计数数组Count[i]=0;i++;}i=low;while(i<=high){//开始计数Count[head[i]-head[Min]]++;i++;}i=0;while(i<=Dist){//开始计数i++;}i=0;flag=low;while(i<=Dist){//结果返回if(Count[i]){head[flag]=i+1;Count[i]--;flag++;continue;}i++;}
}int main(int argc, char **argv) {int r[11][10];printf("Hello, World!\n");int s[5];s[0]=6;s[1]=3;s[2]=4;s[3]=3;s[4]=1;int i=0;while(i<5)printf("%d ",s[i++]);printf("\n---------\n");Cou_Sort(s,0,4);int j=0;while(j<5)printf("%d ",s[j++]);//printf("\n%f ",pow(1,10));return 0;
}

10-计数排序C实现相关推荐

  1. 计数排序及其改进 C++代码实现与分析 恋上数据结构笔记

    文章目录 复习梗概 算法思想 基础思想 改进空间复杂度,改进不能对负数进行排序问题 改进稳定性 计数排序时间空间复杂度 计数排序基础版 代码及输出 计数排序第一次改进版 代码及输出 计数排序终极版 代 ...

  2. 漫画:什么是计数排序?

    本文经授权转载自公众号程序员小灰 (ID:chengxuyuanxiaohui) -----  第二天  ----- ------------ 假定20个随机整数的值如下: 9,3,5,4,9,1,2 ...

  3. 算法笔记-桶排序代码与原理、非比较排序、计数排序、基数排序、C#代码

    1. 计数排序 原理: 计数排序需要用到桶,其核心是不通过比较来获得数的大小,以桶的方式存数来计数 举例来说,一个数组是{3 2 2 1 3 5},共6个数,那么我们需要准备5个有序桶,即1号桶.2号 ...

  4. 计数排序,基数排序,桶排序

    转 http://blog.163.com/yuyang_tech/blog/static/216050083201382055821953/ 与合并排序,堆排序,快速排序等基于比较的排序算法不同,计 ...

  5. 计数排序/Counting Sort

    计数排序的算法思想: 对于每一个元素x,只要确定了元素x有多少个比它小的元素,那么就可以知道其最终的位置. 记输入数组为A[n],存放最后排序输出的数组为B[n],提供临时存储空间的中间数组记为C[k ...

  6. 10种排序算法基础总结

    基于比较的排序: 基础排序:  冒泡排序:谁大谁上,每一轮都把最大的顶到天花板 效率太低--掌握swap. 选择排序:效率较低,但经常用它内部的循环方式来找最大值和最小值. 插入排序:虽然平均效率低, ...

  7. count_sort计数排序OpenMP的并行化

    简述 计数排序,就是统计某个数值在所有的数字中所应该存在的位置,然后,放到一个确定的位置上.非常简单的排序算法. 程序 会读取data.txt中的文件 数据的样子 10 0 2 3 1 4 8 6 7 ...

  8. 排序算法之计数排序、基数排序和桶排序

    转自:http://www.cnblogs.com/ttltry-air/archive/2012/08/04/2623302.html 计数排序,基数排序,桶排序等非比较排序算法,平均时间复杂度都是 ...

  9. 【排序算法】计数排序引发的围观风波——一种O(n)的排序

    前言 计算机课上,老师给一串数字6 1 6 9 9 1 4 2 1 5 8 8,问道:这一串数字,你们写个程序给我看,要求效率较高.学不出来的别下课了. 顿时场下一片哗然,但有很多小朋友硬着头皮啪啪啪 ...

  10. 计数排序、桶排序和基数排序的运算性能对比及总结区别(附python代码)

    首先证明一波排序算法的运算性能,如下图.对于50万个数据的无序列表,时间复杂度为的桶排序和计数排序明显比复杂度为的归并排序和快速排序性能好至少一个数量级. 1. 计数排序  1.1 基本原理:首先确定 ...

最新文章

  1. win8系统的计算机共享在哪里设置方法,怎么设置win8无线共享呢?
  2. Win32 汇编环境和入门程序图解
  3. (Mybatis)复杂查询
  4. 70 周岁快乐 | 盛世华诞,每一刻都值得铭记
  5. python3网络爬虫代码_《Python3网络爬虫开发实战代码》
  6. 前端:QuickJS到底能干什么
  7. python安装哪个版本好啊_windows10安装哪个版本的Python?
  8. [vue] 说说你对keep-alive的理解是什么?
  9. webpack+vue-cli 中proxyTable配置接口地址代理
  10. java stream filter map collector使用
  11. C# 实现 Hyper-V 虚拟机 管理
  12. android在副屏中运行一个应用_android一个app打开另一个app的指定页面
  13. js constructor 和 instanceof
  14. java 阶乘算法_Java 实现阶乘算法
  15. Kali Linux信息收集工具
  16. powerbi导入地图_PowerBI 地图 - 层级下钻形状地图最佳实践
  17. 如何在网页上下载视频
  18. 获取手机指纹库指纹信息
  19. 近地天体撞击地球原理的设想
  20. 内存耗用:VSS/RSS/PSS/USS

热门文章

  1. UESTC 1851 Kings on a Chessboard
  2. 分块查询 缓解内存开销
  3. dvwa_xss_储存型
  4. [Python人工智能] 三十四.Bert模型 (3)keras-bert库构建Bert模型实现微博情感分析
  5. iOS之深入解析对象isa的底层原理
  6. 对于一颗具有n个结点,度为4的树来说,( )
  7. G6 图可视化引擎——简介
  8. 【机器视觉】 measure_pos算子
  9. 【Qt】QModbusResponse类
  10. 【Qt】2D绘图之绘制简单的图形