⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quiksort.h

📁 C++参考书
💻 H
字号:

#ifndef QUIKSORT_H
#define QUIKSORT_H

template<typename T>
inline void swap( T &t1, T &t2 )
{
	T hold = t2 ;
	t2 = t1 ;
	t1 = hold ;
}

template<typename T>
void quickSort( T *array, int hi, int lo = 0 )
{
	while ( hi > lo ) {

		int i = lo ;
		int j = hi ;

		do {

			while ( array[i] < array[lo] && i < j )
				i++ ;

			while ( array[--j] > array[lo] ) ;

			if ( i < j )
				swap( array[j], array[i] ) ;

		} while ( i < j ) ;

		swap( array[lo], array[j] ) ;

		if ( j - lo > hi - ( j + 1 ) ) {
			quickSort( array, j - 1, lo ) ;
			lo = j + 1 ;
		}
		else {
			quickSort( array, hi, j + 1 ) ;
			hi = j - 1 ;
		}

	}
}

#endif

⌨️ 快捷键说明

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