QuickSort算法(快速排序)

来源:互联网 发布:oa系统数据库表设计 编辑:程序博客网 时间:2024/05/01 02:51

实验内容:

在main函数中定义数A[]={52,49,80,36,14,58,61,23,97},调用归并排序函数QuickSort对A[]中的数据进行排序,调试并观察排序过程。

代码如下:

 

#include "stdio.h"void QuickSort(int R[],int s,int t){int i=s,j=t;int tmp=R[s];if(s<t){while(i!=j){while(i<j&&R[j]>=tmp)j--;R[i]=R[j];while(i<j&&R[i]<=tmp)//注意等号:负责导致等于时没有处理出现错误i++;R[j]=R[i];}R[i]=tmp;QuickSort(R,s,i-1);QuickSort(R,i+1,t);//注意:递归要写在(s<t)的条件里面}}void main(){int A[9]={52,49,80,36,14,58,61,23,97};int l=0,h=8,i=0;printf("排序前:A[9]=");for(i=0;i<9;i++)printf("%d  ",A[i]);QuickSort(A,l,h);printf("\n排序后:A[9]=");for(i=0;i<9;i++)printf("%d  ",A[i]);}

运行结果:



0 0