文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>经典算法-快速排序算法

经典算法-快速排序算法

时间:2010-10-20  来源:1987hanen

一个快速排序算法 输入10个数 代码如下:
#include <stdio.h>
#define N 10
int a[N];
void quickSort(int *arr,int l,int r)
{//此处编写代码实现快速排序
int i,j,x,temp;
if(l<r)
{
  i=l;
  j=r;
  x=arr[(l+r)/2];  //以中间元素为轴
  while(1)
  {
   while(i<=r&&arr[i]<x)i++;
   while(j>=0&&arr[j]>x)j--;
  
   if(i>=j) //相遇则跳出
   break;
   else
   {
    temp=arr[i];arr[i]=arr[j];arr[j]=temp;  //交换
   }
  }
  qsort(arr,l,i-1); //对左半部分进行快排
  qsort(arr,j+1,r);  //对右半部分进行快排
}
}
void printArray(int N)
{//此处编写代码打印数组
int i=0;
for(;i<N;i++)
printf("%3d",a[i]);
}
 main()
{
int i;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
 printArray(N);
//调用快速排序函数,对数组中从0到N的元素进行快速排序
quickSort(a,0,N-1);
printArray(N);
printf("\n");
 return 0;
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载