C++实现快速排序代码

// ConsoleApplication2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
template<class T>

int length(T& arr)
{
	//cout << sizeof(arr[0]) << endl;
	//cout << sizeof(arr) << endl;
	return sizeof(arr) / sizeof(arr[0]);
}

int getindex(int ar[], int low, int high)
{
	int tmp = ar[low];
	while(low < high && ar[high] >= tmp)
	{
		high--;
	}
	ar[low] = ar[high];
	while (low < high && ar[low] <= tmp)
	{
		low++;
	}
	ar[high] = ar[low];

	ar[low] = tmp;
	return low;
}

int qs(int ar[], int low, int high)
{
	if (low < high)
	{
		int index = getindex(ar, low, high);
		qs(ar, 0, index);
		qs(ar, index + 1, high);

	}
}
int main()
{
	int arr[] = {4,3,6,5,2,14,15,-1};
	qs(arr, 0, length(arr));
    std::cout << "Hello World!\n";
}
发布了358 篇原创文章 · 获赞 191 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104921044