快速排序

int AdjustArray(int a[],int i, int j)
{
	int x = a[i];

	while ( i < j )
	{
		while ( i < j && a[j] >= x ) j--;

		if ( i < j)
		{
			a[i] = a[j];
			i++;
		}

		while ( i < j && a[i] <= x ) i++;
		if ( i < j )
		{
			a[j] = a[i];
			j--;
		}
	}

	a[i] = x;
	return i;
}
void QuickSort( int a[], int low, int hight )
{
	if ( low < hight )
	{
		int i = AdjustArray( a, low, hight );
		QuickSort( a, low, i - 1 );
		QuickSort( a, i + 1, hight );
	}

}


 

你可能感兴趣的:(数据结构)