pta_6-1 数组排序输出(函数模板)

#include <iostream>
#include <string>
using namespace std;

template <class T>
void sort(T *a, int size)
{
int r, i, j;
for(i = 0; i < size; i++)
cin >> a[i];
T t;
for(r = size / 2; r >= 1; r /= 2)
for(i = r; i < size; i++)
{
t = a[i];
j = i - r;
while(j >= 0 && t < a[j])
{
a[j + r] = a[j];
j -= r;
}
a[j + r] = t;
}
}

template <class T>
void display(T* a, int size){
for(int i=0; i<size-1; i++) cout<<a[i]<<' ';
cout<<a[size-1]<<endl;
}
int main() {
const int SIZE=10;
int a[SIZE];
char b[SIZE];
double c[SIZE];
string d[SIZE];
int ty, size;
cin>>ty;
while(ty>0){
cin>>size;
switch(ty){
case 1:sort(a,size); display(a,size); break;
case 2:sort(b,size); display(b,size); break;
case 3:sort(c,size); display(c,size); break;
case 4:sort(d,size); display(d,size); break;
}
cin>>ty;
}
return 0;
}

 

 

 

posted @   a_true  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示