您的位置:首页 > 其它

8.3.2快速排序

2007-08-07 16:09 169 查看
#include "stdafx.h"
#include <iostream.h>
#include <malloc.h>

int const count=8;

typedef struct

typedef records list[count+1];

//此处没有使用书中的算法,书中的算法实现很繁索,且使用i,h,j,p,x一类的变量,使程序阅读更加吃力
//我实现的是严蔚敏版的数据结构中关于快速排序的算法,但书中的算法和这个思路是一致的,不过在于一些判断的时候方法有些不同,也没有这个算法巧妙
//快排算法最核心的思路就是,在一个排序数据中,取一个值,然后将小于它的数组项放在左面,将大于它的数组项放在它的右边,
//而这个值就是中值,然后分别再对分开的两部分再次调用排序算法,直至排序完成.
//r:排序的数组 low:排序区域中小的索引 high:排序区域中大的索引 return:分割两部分的中点索引
int Partition(list & r,int low,int high)

//快速排序
void QuickSort(list & r,int low,int high)

void printList(list r)

int main(int argc, char* argv[])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: