插入排序C++代码
代码
#include<iostream>
using namespace std;
template <class T>
inline void swap1(T &a,T &b)
{
T temp=a;
a=b;
b=temp;
};
template <class T>
class mm
{
public:
void insert_sort();
mm(int size1);
mm();
void print();
private:
T *arra;
int size;
};
template <class T>
mm<T>::mm():size(0),array(NULL)
{
}
template <class T>
mm<T>::mm(int size1):size(size1)
{
cout<<"please input the "<<size<<" data of the array:"<<endl;
int data=0;
arra=new (T)(size);
for(int i=0;i<size;++i)
{
cin>>data;
arra[i]=data;
}
}
template <class T>
void mm<T>::insert_sort()
{
int i=0;
for(int j=1;j<size;++j)
{
i=j-1;
while(i>=0&&arra[i]>arra[i+1])
{
swap1(arra[i],arra[i+1]);
--i;
}
}
}
template <class T>
void mm<T>::print()
{
if(size==0||arra==NULL)
{
cout<<"There is no data in the array,please examine again."<<endl;
}
else
{
for(int i=0;i<size;++i)
cout<<arra[i]<<" ";
cout<<endl;
}
}
int main()
{
mm<int> cc(3);
cc.insert_sort();
cc.print();
}