首页 > 编程语言 > 详细

数据结构与算法——快速排序

时间:2015-10-13 21:09:39      阅读:297      评论:0      收藏:0      [点我收藏+]

//快速排序
#include<stdio.h>
void QuickSort(int arr[], int before, int after );
int main( )
{
  int i;
  int arr[]={3,4,2,6,1,9,8,5,7,2};
  int len=sizeof(arr)/sizeof(arr[0]);
  QuickSort(arr,0,len-1);
  for(i=0;i<len;i++)
  {
    printf("%d ",arr[i]);
  }
}
void QuickSort(int arr[], int before, int after )
{
  int i=before,j=after;
  int temp=arr[before];
  while(i<j)
  {
    while(i<j&&temp<=arr[j])
      j--;
    if(i<j)
     {
      arr[i]=arr[j];
      i++;
     }
    while(i<j&&temp>arr[i])
      i++;
   if(i<j)
    {
      arr[j]=arr[i];
      j--;
    }
   arr[i]=temp;
  }
  if(i-1>before)
    QuickSort(arr,before,i-1);
  if(j+1<after)
    QuickSort(arr,j+1,after);
}

数据结构与算法——快速排序

原文:http://www.cnblogs.com/yangyan1006/p/4875708.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!