QuickSort
int Partition(vector<int> &input, int start, int end)
{
int index=start;
for(int i=start+1; i<=end; i++)
{
if(input[i]<input[start])
{
++index;
if(i!=index)
{
swap(input[i], input[index]);
}
}
}
swap(input[start], input[index]);
return index;
}
void QuickSort(vector<int> &input, int start, int end)
{
if(start>=end)
return;
int index=Partition(input, start, end);
if(index>start)
{
QuickSort(input, start, index-1);
}
if(index<end)
{
QuickSort(input, index+1, end);
}
}
posted on 2017-09-18 16:03 www_practice 阅读(116) 评论(0) 收藏 举报
浙公网安备 33010602011771号