插入排序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();
}


 

posted @ 2010-08-18 15:32  hailong  阅读(223)  评论(0编辑  收藏  举报