快速排序的递归算法实现

用了这么多,感觉还是递归最简单最好用,下面介绍下递归实现快速排序,它在很多公司笔试题中也有考到

#include 


int FindSite(int *arr, int low, int high)
{
	int flag=arr[low]; //将需要查找位置的第一个数字赋值给flag;

	int *tmp = arr;
	while (low < high)//边界条件;
	{
		while ((low= flag))//当高位大于等于flag标志位时,应该将高位<<右移;
		{
			--high;//右移;
		}
		if (low < high)
		{
			tmp[low] = tmp[high];//当高位小于flag时,赋值给低位;
		}
		while ((low>左移;
		{
			++low;//左移;
		}
		if (low < high)
		{
			tmp[high] = tmp[low];//当低位大于flag时,赋值给高位;
		}
	}
	tmp[low] = flag;//当low和high重合时,位置找到,将需要查找的数放进位置。
	return low;//将这个位置返回给排序函数;
}
 

void QuickSort(int *arr, int low, int high)
{
	int pow=0;//设置位置标志;
	if (low

 

你可能感兴趣的:(linux学习,c/c++编程)