qs.c

来自「是用快速排序对一列数进行排序」· C语言 代码 · 共 48 行

C
48
字号
#include "stdio.h"
static int a[10]={10,9,8,7,6,5,4,3,2,1};
void swap(int m,int n)
{
  int temp;
  temp=m;
  m=n;
  n=temp;
}
int partition(int l,int r)
{
  int i=l-1;
  int j=r+1;
  int x=a[l];
  while(1)
  {
	 while(a[++i]<x);
	 while(a[--j]>x);
	 if(i<=j)
	break;
	swap(a[i],a[j]);

  }
  a[l]=a[j];
  a[j]=x;
  return j;
}

void qsort(int l,int r)
{
	int q;
  if(l<r)
  {
    q=partition(l,r);
	qsort(l,q-1);
    qsort(q+1,r);
  }
}

void main()
{
	int i;
  qsort(0,9);
  for(i=0;i<=9;i++)
	  printf("%d",a[i]);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?