C++排序(快速排序)
2018-07-20 来源:open-open
#include <iostream> #define _SZ 10 using namespace std; template<typename _Ty> class Grial { public: Grial(_Ty *_P,int _X=_SZ) { _SP=_X; data = new _Ty[_SP]; for(int _I=0;_I<_SP;_I++) { data[_I]=_P[_I]; } sort(data,0,_SP); } void view() { for(int _I=0;_I<_SP;_I++) { cout<<data[_I]<<" "; } cout<<endl; } private: void sort(_Ty *_A,int _L,int _R) { int _I=_L; int _J=_R-1; if(_L>=_R)return; _Ty temp = _A[_I]; while(_I<_J) { while(_I<_J && _A[_J]>=temp)--_J; _A[_I]=_A[_J]; while(_I<_J && _A[_I]<=temp)++_I; _A[_J]=_A[_I]; } _A[_I]=temp; sort(_A,0,_I-1); sort(_A,_I+1,_R); } private: _Ty *data; int _SP; }; int main() { int a[]={0,4,5,6,7,8,90,5,2,43,2,3,5}; Grial<int> g(a,13); g.view(); return 0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:PHP计算两个日期的差
下一篇:php给图片加文字水印
最新资讯
热门推荐