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给图片加文字水印
最新资讯
热门推荐