C++快速排序程序中的swap()在哪个文件中定义了啊 怎么能直接使用呢 是关于模板方面的 高手帮帮菜鸟 谢谢了
template<typenameT>voidrecursive_quick_sort(Tentry[],intlow,inthigh){//从小到大排序if(low<h...
template <typename T>
void recursive_quick_sort(T entry[], int low, int high)
{
//从小到大排序
if (low < high) {
T pivot;//pivot最后关键数据,小于pivot的数据放在它的前面,大于它的数据放在它的后面
int i, last_small; // last_small是最后一个小于pivot的下标
pivot = entry[low]; //选一个数据最为pivot,这里把第一个数据作为关键数据
last_small = low;
for (i = low + 1; i <= high; i++)
if (entry[i] < pivot)
{
last_small = last_small + 1;
swap(entry[last_small], entry[i]);//将小于pivot的数据移动到左边
}
swap(entry[low], entry[last_small]); //要将pivot与下标为last_small的数据进行交换
recursive_quick_sort(entry, low, last_small- 1);//递归调用
recursive_quick_sort(entry, last_small + 1, high);
}
} 展开
void recursive_quick_sort(T entry[], int low, int high)
{
//从小到大排序
if (low < high) {
T pivot;//pivot最后关键数据,小于pivot的数据放在它的前面,大于它的数据放在它的后面
int i, last_small; // last_small是最后一个小于pivot的下标
pivot = entry[low]; //选一个数据最为pivot,这里把第一个数据作为关键数据
last_small = low;
for (i = low + 1; i <= high; i++)
if (entry[i] < pivot)
{
last_small = last_small + 1;
swap(entry[last_small], entry[i]);//将小于pivot的数据移动到左边
}
swap(entry[low], entry[last_small]); //要将pivot与下标为last_small的数据进行交换
recursive_quick_sort(entry, low, last_small- 1);//递归调用
recursive_quick_sort(entry, last_small + 1, high);
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询