程序设计综合实践教学课件3-3 其它特殊排序方法.pptxVIP

  • 2
  • 0
  • 约3.31千字
  • 约 12页
  • 2021-10-13 发布于安徽
  • 举报

程序设计综合实践教学课件3-3 其它特殊排序方法.pptx

五、其它特殊排序方法;5.1计数排序 假设待排序序列元素的关键字是整型,它们的分布范围是[0,maxKey],当maxKey不太大时,可以采用计数排序高效完成排序。计数排序的思路是这样的:统计出每个关键字在序列内出现次数,进而计算出每个关键字在结果序列中存放的开始下标,再顺序扫描原序列,从每个元素的关键字获取目标存放位置,存放后调整下一个相同关键字元素的存放位置。 计数排序是稳定的排序方法,关键字相同的两个元素可以保留它们原来的相对次序。如按学生成绩排序时,成绩相同的两名同学,原相对次序保持不变。;//算法3.7 计数排序。对存放n个元素的数组按关键字递增排序 //数组A中存放有n个元素,排序后存放至数组sortedA中 //正整数maxKey为关键字最大值,iCountA为辅助计数数组,大小为maxKey+1 void CounterSort (DataElem A[], int n, int iCountA [], int maxKey, DataElem sortedA[]) { for (key = 0; key = maxKey; ++key) iCountA [key] = 0; //辅助计数数组清0 for (i = 0; i n; ++i) ++iCountA [A[i].key]; //

文档评论(0)

1亿VIP精品文档

相关文档