pgm15_08.cpp

来自「此文件为网络书籍数据结构的面向对象方法的源码」· C++ 代码 · 共 37 行

CPP
37
字号
////   This file contains the C++ code from Program 15.8 of//   "Data Structures and Algorithms//    with Object-Oriented Design Patterns in C++"//   by Bruno R. Preiss.////   Copyright (c) 1998 by Bruno R. Preiss, P.Eng.  All rights reserved.////   http://www.pads.uwaterloo.ca/Bruno.Preiss/books/opus4/programs/pgm15_08.cpp//template <class T>void QuickSorter<T>::DoSort (    Array<T>& array, unsigned int left, unsigned int right){    if (right - left + 1 > cutOff)    {	unsigned int const p = SelectPivot (array, left, right);	Swap (array [p], array [right]);	T& pivot = array [right];	unsigned int i = left;	unsigned int j = right - 1U;	for (;;)	{	    while (i < j && array [i] < pivot) ++i;	    while (i < j && array [j] > pivot) --j;	    if (i >= j) break;	    Swap (array [i++], array [j--]);	}	if (array [i] > pivot)	    Swap (array [i], pivot);	if (left < i)	    DoSort (array, left, i - 1U);	if (right > i)	    DoSort (array, i + 1, right);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?