初学者,做一个插入排序,请大家帮忙看看
就是向做一个插入排序,但是关于调用函数方面不太懂,请大家帮忙看下,
附上代码:
#include<iostream>
using namespace std;
template<class T>
void straightsort(datalist *&r);
{
for(i=2;i=n;i++)
{
r[0]=r[1];
j=i-1;
while(r[0].key<r[j].key)
{
r[j+1]=r[i];
j--;
}
r[j+1]=r[0];
}
}
int main()
{
int n=8;
int r[8]={46,58,15,45,90,18,10,62};
straightsort r;
for(int k=0;k<=n;k++)
{
cout<<"r[k]="<<r[k]<<" ";
}
return 0;
}
[解决办法]
- C/C++ code
#include <iostream>using namespace std;template<typename Type>void Sort(Type *list,int len){ for( int i = 0 ; i < len-1 ; ++i) { Type temp = list[i+1]; int j = 0; while( temp > list[j] )++j; for(int k = i+1 ; k > j ; --k) { list[k] = list[k-1]; } list[j] = temp; }}int main(){ int list[8] = {1,3,2,4,10,5,7,8}; Sort(list,8); for(int i = 0 ; i < 8 ; ++i)cout<<list[i]<<" "; cout<<endl;// system("pause"); return 0;}