/**********************
****quicklysort.h****
**********************/
#ifndef __QUICKLYSORT_H__
#define __QUICKLYSORT_H__
#define N 8
void show(int a[]);
int quickpass(int a[], int i, int j);
void quicksort(int a[], int low, int high);
#endif
/**********************
****quicklysort.c****
*********************/
#include "quicklysort.h"
void show(int a[])
{
int i;
for (i = 0; i < N; i++)
{
printf("%d\t", a[i]);
}
printf("\n");
}
int quickpass(int a[], int i, int j)
{
int tmp;
while (i < j) {
tmp = a[i];
while (i < j && tmp <= a[j])
j--;
if (i < j)
a[i] = a[j];
while (i < j && tmp >= a[i])
i++;
if (i < j)
a[j] = a[i];
}
a[i] = tmp;
return i;
}
void quicksort(int a[], int low, int high)
{
int mid;
if (low < high) {
mid = quickpass(a, low, high);
show(a);
quicksort(a, low, mid - 1);
quicksort(a, mid + 1, high);
}
}
华清快速排序/**************************quicklysort.h**************************/#ifndef __QUICKLYSORT_H__#define __QUICKLYSORT_H__#define N 8void show(int a[]);int quickpass(int a[], int i, int j);void quicksort(int a[], int low, int high);#endif