Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2348939
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:09:18

三、设计方法和基本原理
1. 问题描述:
将一组无序数列按一定规律排序。
2. 问题的解决方案:
根据问题的描述,可以按照要求的功能采用结构化的设计思想。
(1) 数列的赋值要求用函数实现。
(2) 使用“冒泡法”进行排序,用函数实现并统计排序次数。
(3) 使用“quicksort法”进行排序,用函数实现并统计排序次数。
(4) 比较以上两种排序方法的优劣。
2、“quicksort法”排序的实现。
“quicksort法”排序算法采用的是递归方法,要求分界值的选定采用数组中间项的值。
工作过程如下:
第一步:选择一个分界值,把数组分成两部分,大于等于分界值的元素集中到数组的某一部分,小于分界值的元素集中到数组的另一部分。
第二步:对分出来的两部分,又分别重复第一步的过程,直到整个数组排序完毕。
例如:设定字符数组A为:f e d a c b
(1) 选定 d作为分界值,则在第一遍划分后数组重新安排如下:b c a d e f
(2) 在第一遍划分b c a和 d e f两部分后,又分别对这两部分进行划分,过程是递归。
使用“quicksort法”进行排序的程序怎么编?我急用!


帮个忙,谢谢了!

--------------------next---------------------

阅读(1848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~