C++练习 | 模板与泛式编程练习
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <iomanip>
using namespace std; template<typename A>
void Swap(A &t1,A &t2)
{
A t;
t=t1;
t1=t2;
t2=t;
} int main()
{
int a1, a2;
double b1, b2;
char c1 , c2 ;
cin>>a1>>a2;
cin>>b1>>b2;
cin>>c1>>c2;
Swap(a1,a2);
cout<<a1<<","<<a2<<endl;
Swap(b1,b2);
cout<<b1<<","<<b2<<endl;
Swap(c1,c2);
cout<<c1<<","<<c2<<endl;
return ;
}
交换函数,仅作格式记录。
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <iomanip>
using namespace std; template<typename A,size_t N>
void input(A (&a)[N])//N即为数组长度
{
for(size_t i=;i!=N;i++)
{
cin>>a[i];
}
} template<typename A,size_t N>
void sort(A (&a)[N])
{
sort(a,a+N);
} template<typename A,size_t N>
void output(A (&a)[N])
{
for(int i=;i<N;i++)
{
cout<<a[i];
if(i!=N-)
cout<<" ";
else
cout<<endl;
}
} int main()
{
int a1[];
char a2[];
double a3[];
int type;
while (cin >> type)
{
switch (type)
{
case : input(a1); sort(a1); output(a1); break;
case : input(a2); sort(a2); output(a2); break;
case : input(a3); sort(a3); output(a3); break;
}
}
return ;
}
输入、排序和输出。
C++练习 | 模板与泛式编程练习的更多相关文章
- C++练习 | 模板与泛式编程练习(2)
#include <iostream> #include <cmath> #include <cstring> #include <string> #i ...
- jQuery插件编写及链式编程模型
jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...
- 【响应式编程的思维艺术】 (5)Angular中Rxjs的应用示例
目录 一. 划重点 二. Angular应用中的Http请求 三. 使用Rxjs构建Http请求结果的处理管道 3.1 基本示例 3.2 常见的操作符 四. 冷热Observable的两种典型场景 4 ...
- 【SpringBoot】SpringBoot2.0响应式编程
========================15.高级篇幅之SpringBoot2.0响应式编程 ================================ 1.SprinBoot2.x响应 ...
- Angular4学习笔记(五)- 数据绑定、响应式编程和管道
概念 Angular中的数据绑定指的是同一组件中控制器文件(.ts)与视图文件(.html)之间的数据传递. 分类 流向 单向绑定 它的意思是要么是ts文件为html文件赋值,要么相反. ts-> ...
- AngularJS体验式编程系列文章
AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统.angularjs是由Google团队开发的一款非常优秀web前端框架.在当前如此多的web框架下,a ...
- Angular6 基础(数据绑定、生命周期、父子组件通讯、响应式编程)
Angular相比于vue来说,更像一个完整的框架,本身就集成了很多模块,如路由,HTTP,服务等,而vue是需要另外引入比如(vuex,axios等).Angular引入了依赖注入.单元测试.类等后 ...
- Angular : 响应式编程, 组件间通信, 表单
Angular 响应式编程相关 ------------------------------------------------------------------------------------ ...
- CRUD全栈式编程架构之导入导出的设计
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
随机推荐
- unistd.h文件
转载地址:http://baike.baidu.com/link?url=nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8x ...
- C/C++遍历进程和进程ID的小工具
原文:http://blog.csdn.net/qq78442761/article/details/54646010 当我们写某些具有破坏性的程序时就需要对进程进行遍历和提取ID 对于上述功能,我们 ...
- String class fetch functionality
String类的获取功能: package com.itheima_04; /* * String类的获取功能: * int length():获取字符串的长度,其实也就是字符个数 * char ch ...
- 结对编程——Java实现黄金分割点游戏
这是我和队员根据老师要求自创的一个人机黄金分割点游戏.这个小游戏在Windows10 下开发,用Eclipse做开发工具,实现语言是Java. 利用目前自己所学的Java知识实现了一人登录,电脑自行匹 ...
- IDEA Properties中文unicode转码问题
在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码.如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图 ...
- 二、python小功能记录——监听鼠标事件
1.原文链接 #-*- coding:utf-8 -*- from pynput.mouse import Button, Controller ## ======================== ...
- [翻译] JHChainableAnimations
JHChainableAnimations - (void)animationType_01 { /* * 缩放到0.8倍(执行spring动画效果的缩放)持续时间0.5s,完成了之后移动100的距离 ...
- 关于Oracle伪列rownum
rownum列跟rowid列不一样,虽然同为表的伪列.但是rowid列是列的一个固定属性,而rownum列是结果集的一个排序.所以像如下查询是不会返回结果的:select rowid,rownum,e ...
- 深入浅出VisualStudio——使用NuGet来安装AjaxControlToolKit
使用NuGet可以加速配置Visual Studio 2010的开发环境. 1.创建一个空的ASP.NET web站点项目. 2.右键单击此web 站点,选择Manage NuGet Packages ...
- 用valgrind检测php扩展内存泄露
原文:https://bugs.php.net/bugs-getting-valgrind-log.php 前提 1,编译php的时候,必须要带上--enable-debug选项. 2,禁用php的内 ...