首页 > 其他分享 >模板

模板

时间:2023-05-14 23:35:03浏览次数:38  
标签:sort min int ty display 模板 size

6-2 数组排序输出(函数模板) 作者 何振峰 单位 福州大学

对于输入的每一批数,按从小到大排序后输出。

一行输入为一批数,第一个输入为数据类型(1表示整数,2表示字符型数,3表示有一位小数的浮点数,4表示字符串,0表示输入结束),第二个输入为该批数的数量size(0<size<=10),接下来为size个指定类型的数据。

输出将从小到大顺序输出数据。

函数接口定义:sort函数将接受size个数据,将它们从小到大排序后存在a指向的一段连续空间中。

 
template <class T>
void sort(T *a, int size);
 

裁判测试程序样例:

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

/* 请在这里填写答案 */

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;
}

 

输入样例:

1 3 3 2 1
2 2 a A
3 3 1.5 2.6 2.2
4 2 bca abc
0
 

输出样例:

1 2 3
A a
1.5 2.2 2.6
abc bca
  代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
  C++ (g++)         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  

template <class T>
void sort(T *a, int size)
{
for(int i=0;i<size;i++)
{
cin>>a[i];
}
for(int i=0; i<size; i++)
{
int min=i;
for(int j=i+1; j<size; j++)
{
if(a[min]>a[j])
{
min=j;
}
}
if(min!=i)
{
T temp=a[min];
a[min]=a[i];
a[i]=temp;
}
}
}

   

标签:sort,min,int,ty,display,模板,size
From: https://www.cnblogs.com/7777lcc/p/17400549.html

相关文章

  • Labview OOP Plug-in框架模板资料,适合研究学习(涉及到设计模式的命令模式和工厂模式)
    LabviewOOPPlug-in框架模板资料,适合研究学习(涉及到设计模式的命令模式和工厂模式)。文件包含模板vipc安装包一份,操作手册一份。ID:1686613644553790......
  • 整车性能目标书,Ford电动汽车 整车性能目标模板,共26页,pdf版本,包含13个性能模块指标条目
    整车性能目标书,Ford电动汽车整车性能目标模板,共26页,pdf版本,包含13个性能模块指标条目,可作为性能集成开发参考YID:3219641188247166......
  • 23-5-14--二分查找--二分查找模板
    1#include<stdio.h>2//#include<iostream>3#include<algorithm>45usingnamespacestd;67structarray{8longlongindex;9longlongnum;10};1112boolcmp(arrayx,arrayy)13{14returnx.num<y.num;......
  • 标准模板13
    #include<algorithm>#include<iterator>#include<vector>#include<iostream>usingnamespacestd;template<classInputIt,classOutputIt>voidmySort(InputItfirst,InputItlast,OutputItresult){ vector<typenameiterator_traits<I......
  • opencv模板匹配测试
    opencv模板匹配 importcv2#加载标准图像template=cv2.imread('template.jpg')#预处理输入图像gray=cv2.cvtColor(template,cv2.COLOR_BGR2GRAY)gray=cv2.GaussianBlur(gray,(5,5),0)#创建背景减除器background=cv2.subtract(te......
  • 利用函数模板解决双倍功能
    请使用模板参数设计实现双倍功能函数,函数功能要求实现返回值为输入参数的两倍,函数参数应能适应整型、浮点型、双精度型等各种类型,返回值类型与参数一样。#include<iostream>usingnamespacestd;/*请在这里填写答案*/template<typenameT>TDouble(Tx){return2*x;}in......
  • Scala 树状数组BIT模板
    Problem:6404.将数组清空目录CodeCodeobjectSolution{defcountOperationsToEmptyArray(nums:Array[Int]):Long={valn=nums.lengthvalid=Array.tabulate(n)(i=>i)valsortedId=id.sortWith((i,j)=>nums(i)-nums(j)<0)......
  • 单调队列算法模板及应用
    文章和代码已经归档至【Github仓库:https://github.com/timerring/algorithms-notes】或者【AIShareLab】回复算法笔记也可获取。队列算法模板//hh表示队头,tt表示队尾intq[N],hh=0,tt=-1;//向队尾插入一个数q[++tt]=x;//从队头弹出一个数hh++;//队头......
  • c++ class类bfs模板题目
    题目网址:走迷宫-题目-Liuser'sOJ(cpolar.cn)原本代码(bfs广度优先搜索):#include<bits/stdc++.h>usingnamespacestd;constintN=50;intn,m;intsx,sy;chara[N][N];intb[N][N];boolvis[N][N];intdx[]={1,0,-1,0};intdy[]={0,-1,0,1};structnode{i......
  • 「模板」最长不下降子序列 LIS
    最长不下降子序列LIS在一个数字序列中,找到一个最长的子序列(可以不连续),使得这个子序列是不下降(非递减)的。例如,现有序列A={1,2,3,-1,-2,7,9}(下标从1开始),它的最长不下降子序列是{1,2,3,7,9},长度为5。另外,还有一些子序列是不下降子序列,比如{1,2,3},{-2,7,9}等,但都不是最长的......