哪位高手能给我一个C语言编写的完整并且调试成功的快速排序的源代码

2025-02-23 20:19:55
推荐回答(2个)
回答1:

以下是完整的代码:希望对楼主有所帮助~~
#include
#include

int Partition (int a[], int low, int high)
{
int key;
key = a[low];
while(low < high)
{
while(low < high && a[high] >= key)
--high;
a[low] = a[high];
while(low < high && a[low] <= key)
++low;
a[high] = a[low];
}
a[low] = key;
return low;
}

void QSort(int a[], int low, int high)
{
if( low < high)
{
int i;
i = Partition( a, low, high);
QSort( a, low, i-1);
QSort( a, i+1, high);
}
}

int main(void)
{
int i;
static int a[12]={13,19,9,5,12,8,7,4,11,2,6,21};

printf(

回答2:

void quickSort(char* arr,int startPos, int endPos)
{
int i,j;
char ch;
ch=arr[startPos];
i=startPos;
j=endPos;
while(i {
while(arr[j]>=ch && i arr[i]=arr[j];
while(arr[i]<=ch && i arr[j]=arr[i];
}
arr[i]=ch;
if(i-1>startPos) quickSort(arr,startPos,i-1);
if(endPos>i+1) quickSort(arr,i+1,endPos);
}

void main()
{
char ch[]="qwertyuiopasdfghjklzxcvbnm";
quickSort(ch,0,25);
printf("\n%s\n",ch);
}