65,211
社区成员
发帖
与我相关
我的任务
分享
#include "iostream"
using namespace std;
template<typename T>
void select_sort(T* pbegin, T* pend)
{
while (pbegin < pend - 1)
{
T* p = pbegin;
for (T* t = p + 1; t < pend; ++t)
if ((*t) < (*p))
p = t;
swap(*pbegin, *p);
++pbegin;
}
}
int main()
{
int a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
size_t len = sizeof(a) / sizeof(int);
for (size_t i = 0; i < len; ++i)
cout<<a[i]<<" ";
cout<<endl;
select_sort(a, a + len);
for (size_t i = 0; i < len; ++i)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
----------
9 8 7 6 5 4 3 2 1 0
0 1 2 3 4 5 6 7 8 9
#include <iostream>
#include<vector>
using namespace std;
template<typename T>
void bubblesort(vector<T>& vec);
template<typename T>
void insertsort(vector<T>& vec);
int main()
{
int a[10]={3,2,45,6,788,3,21,5,9};
vector<int> vec(a,a+9);
bubblesort(vec);
// insertsort(vec);
for(int i=0;i<vec.size();++i)
cout<<vec[i]<<" ";
cout<<endl;
system("pause");
return 0;
}
template<typename T>
void bubblesort(vector<T>& vec)
{
T temp;
for(int i=1; i<vec.size(); ++i)//循环size-1次
{
for(int j=0; j<vec.size()-1; ++j)
{
if(vec[j]>vec[j+1])
{
temp=vec[j];
vec[j]=vec[j+1];
vec[j+1]=temp;
}
}
}
}
template<typename T>
void insertsort(vector<T>& vec)
{
T temp;
int j;
for(int i=1;i<vec.size(); ++i)
{
temp=vec[i];
j=i-1;
while(j>=0 && temp<vec[j])
{
vec[j+1]=vec[j];
--j;
}
vec[j+1]=temp;
}
}