数据结构14-排序方法之快速排序的实例
2014-10-09 00:47
239 查看
程序实现用快速排序方法对数组序列从大到小的排列,并输出排序后的数列元素,代码如下所示:
程序运行的结果如下图所示:
#include"stdio.h" void swap(int *a,int *b) { /*序列中元素位置的交换*/ int tmp; tmp = *a; *a = *b; *b = tmp; } void quicksort(int k[],int s,int t) { /*快速排序*/ int i,j; if(s<t){ i = s; j = t+1; while(1){ do i++; while(!(k[s]>=k[i]||i==t)); /*重复执行i++操作*/ do j--; while(!(k[s]<=k[j]||j==s)); /*重复执行j--操作*/ if(i<j) swap(&k[i],&k[j]); /*交换k[i]和k[j]的位置*/ else break; } swap(&k[s],&k[j]); /*交换基准元素与k[j]的位置*/ quicksort(k,s,j-1); /*递归排序基准元素前面的子序列*/ quicksort(k,j+1,t); /*递归排序基准元素后面的子序列*/ } } main() { int k[10]={2,5,6,3,7,8,0,9,12,1},i; printf("The orginal data array is\n"); for(i=0;i<10;i++) /*显示原序列之中的元素*/ printf("%d ",k[i]); quicksort(k,0,9); /*快速排序*/ printf("\nThe result of quick sorting for the array is\n"); for(i=0;i<10;i++) /*显示排序后的结果*/ printf("%d ",k[i]); getche(); }
程序运行的结果如下图所示:
相关文章推荐
- 数据结构10-排序方法之直接插入排序的实例
- 数据结构13-排序方法之希尔排序的实例
- 数据结构--排序实例
- 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
- 数据结构排序之快速排序
- python字典多条件排序方法实例
- Python中字典(dict)和列表(list)的排序方法实例
- 数据结构内部排序方法
- OC中的排序方法实例
- Array 重排序方法和操作方法的简单实例
- Java实现数据排序(冒泡、选择、插入、快速排序)---方法持续更新中
- 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
- 图解"数据结构--内部排序算法"----交换排序:冒泡排序、快速排序
- 算法入门-快速排序-基本快速排序方法
- Java 7大常见排序方法实例详解
- 数据结构中的各种排序方法-JS实现
- 在microsoft vc++ 2008版中运行李先静先生一书及数据结构高一凡先生一书实例的方法
- java中常用的排序方法之-----快速排序
- php排序方法之快速排序