C++实践排序函数模板项目的参考方法
【项目-排序函数模板】
已知
void Sort(int a[],int size); void Sort(double a[],int size);
是一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列。试设计这个函数模板。
参考解答:
#include<iostream>
using namespace std;
template<class T>
void Sort(T set[],int n)
{
int i,j;
T temp;
for(i=1; i<n; i++)
for(j=n-1; j>=i; j--)
if(set[j-1]>set[j])
{
temp=set[j-1];
set[j-1]=set[j];
set[j]=temp;
}
}
int main()
{
int i;
int a[]= {4,5,2,8,9,3};
double b[]= {3.5, 6.7, 2, 5.2, 9.2, 10.3};
Sort(a,6);
Sort(b,6);
for(i=0; i<6; i++)
cout<<a[i]<<" ";
cout<<endl;
for(i=0; i<6; i++)
cout<<b[i]<<" ";
cout<<endl;
return 0;
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
简单掌握C++中的函数模板
1.函数模板的声明和模板函数的生成 1.1函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数. 函数模板的声明形式为: template<typename 数据类型参数标识符> <返回类型><函数名>(参数表) { 函数体 } 其中,template是定义模板函数的关键字:template后面的尖括号不能省略:typename(或class)是声明数据类型参数标识符的关键字,
-
深入解析C++中的函数模板和函数的默认参数
C++函数模板 我们知道,数据或数值可以通过函数参数传递,在函数定义时它们是未知的,只有在发生函数调用时才能确定其值.这就是数据的参数化. 其实,数据类型也可以通过参数来传递,在函数定义是可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的参数自动确定数据类型.这就是数据类型参数化. 所谓函数模板,实际上是建立一个通用函数,其返回值类型和形参类型不具体指定,用一个虚拟的类型来代替(实际上是用一个标识符来占位).这个通用函数就称为函数模板(Function Template).凡是函数
-
C++ Template 基础篇(一):函数模板详解
Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分. 为什么要有泛型编程 C++是一门强类型语言,所以无法做到像动态语言(python javascript)那样子,编写一段通用的逻辑,可以把任意类型的变量传进去处理.泛型编程弥补了这个缺点,通过把通用逻辑设计为模板,摆脱了类型的限制,提供了继承机制以外的另一种抽象机制,极大地提升了代码的可重用性. 注意:模板定义本身不参与编译,而是编译器根据模板的用户使
-
C++中函数模板的用法详细解析
定义 我们知道函数的重载可以实现一个函数名多用,将功能相同或者类似函数用同一个名来定义.这样可以简化函数的调用形式,但是程序中,仍然需要分别定义每一个函数. C++提供的函数模板可以更加简化这个过程. 所谓函数模板实际上是建立一个通用函数,其涵涵素类型额形参类型不具体指定,用一个虚拟的类型来代表,这个通用函数就称为函数模板. 凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需要在模板中定义一次即可.在调用函数时,系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能
-
C++函数模板与类模板实例解析
本文针对C++函数模板与类模板进行了较为详尽的实例解析,有助于帮助读者加深对C++函数模板与类模板的理解.具体内容如下: 泛型编程(Generic Programming)是一种编程范式,通过将类型参数化来实现在同一份代码上操作多种数据类型,泛型是一般化并可重复使用的意思.泛型编程最初诞生于C++中,目的是为了实现C++的STL(标准模板库). 模板(template)是泛型编程的基础,一个模板就是一个创建类或函数的蓝图或公式.例如,当使用一个vector这样的泛型类型或者find这样的泛型函数
-
C++实践排序函数模板项目的参考方法
[项目-排序函数模板] 已知 void Sort(int a[],int size); void Sort(double a[],int size); 是一个函数模板的两个实例,其功能是将数组a中的前size个元素按从小到大顺序排列.试设计这个函数模板. 参考解答: #include<iostream> using namespace std; template<class T> void Sort(T set[],int n) { int i,j; T temp; for(i=1
-
PHP中shuffle数组值随便排序函数用法
本文实例讲述了shuffle数组值随便排序函数的用法,分享给大家供大家参考. 具体实例代码如下: 复制代码 代码如下: $typename=20; $rtitle='tt'; for( $i=0;$i<=20;$i++) { $rtitle_rand = array($typename,$rtitle,$typename); shuffle($rtitle_rand);//数组进行随机排序 echo $rtitle_rand['0'].'<br />'; } 希望本文所述对大家的P
-
详解C++函数模板与分离编译模式
1.分离编译模式 一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件连接起来形成单一的可执行文件的过程称为分离编译模式. 2.使用函数模板在链接时出错 在C++程序设计中,在一个源文件中定义某个函数,然后在另一个源文件中使用该函数,这是一种非常普遍的做法.但是,如果定义和调用一个函数模板时也采用这种方式,会发生编译错误. 下面的程序由三个文件组成:func.h用来对函数模板进行申明,func.cpp用来定义函数模板,main.cpp包含func.h头文件
-
Python排序函数的使用方法详解
Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,dict),我们可以使用更灵活的sorted()函数. 一.List的sort()函数 Python源码builtins.py文件对sort()函数的定义如下 def sort(self, key=None, reverse=False): """ L.sort(key=None,
-
如何使用 vue-cli 创建模板项目
场景 吾辈曾经只是个 Java 后端开发人员,原本对前端的了解大致只有 HTML/CSS/JavaScript/JQuery 级别,后来接触到了 nodejs.不仅是工作之需,吾辈个人而言也非常想要了解现代前端技术.然而天可怜见,吾辈刚入门 nodejs 并没有发现什么,但发现想要构建一个项目,需要用到前端工具链实在太多了.配置文件的数量甚至远远超过后端. 所以为了快速开发,入门之后遇到问题再去解决,吾辈选择了使用 nodejs + npm + vuejs + webpack + vscode
-
C++函数模板与重载解析超详细讲解
目录 1.快速上手 2.重载的模板 3.模板的局限性 4.显式具体化函数 5.实例化和具体化 6.重载解析 6.1 概览 6.2 完全匹配中的三六九等 6.3 总结 7.模板的发展 1.快速上手 函数模板是通用的函数描述,也就是说,它们使用泛型来定义函数. #include<iostream> using namespace std; template <typename T> void Swap(T &a,T &b);//模板原型 struct apple{ st
-
让editplus3 函数模板完全显示函数
我是常常使用editplus ,主要是它启动快,文件小,自定义代码,绿色.发现当用他打开php有一个快捷键ctrl+F11可以打开函数列表,也就是文件内所有的函数名会显示在列表中,双击会选中函数,非常方便 但是默认安装好editplus 3 不支持面向对象的方法 如 final.static 的显示 ,于是我看了下函数模板的设置,也是用正则表达式的配置,轻松改好正则OKl了,正则如: 复制代码 代码如下: ^[ \t]*(public |private |protected )?function
-
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
JSON可谓是JavaScript的亮点,它能用优雅简练的代码实现Object和Array的初始化.同样是基于文本的数据定义,它比符号分隔更有语义,比XML更简洁.因此越来越多的JS开发中,使用它作为数据的传输和储存. JS数组内置了不少有用的方法,方便我们对数据的查询和筛选.例如我们有一堆数据: 复制代码 代码如下: var heros = [ // 名============攻=====防=======力量====敏捷=====智力==== {name:'冰室女巫
-
vue-cli的webpack模板项目配置文件分析
由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和config里面一些相关的配置,所以刚好趁此机会将所有配置文件看一遍,理一理思路,也便于以后修改配置的时候不会"太折腾". 一.文件结构 本文主要分析开发(dev)和构建(build)两个过程涉及到的文件,故下面文件结构仅列出相应的内容. ├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-ser
随机推荐
- Asp.net mvc验证用户登录之Forms实现详解
- 在Ajax中使用Flash实现跨域数据读取的实现方法
- 利用php获得flv视频长度的实例代码
- perl模块Data::Dumper应用一例分享
- jQuery快速实现商品数量加减的方法
- js类式继承与原型式继承详解
- 详解Nginx location 匹配规则
- virtualbox下osx系统盘扩容方法
- Django框架中处理URLconf中特定的URL的方法
- JavaScript 创建随机数和随机图片
- asp.net 数据类型转换类代码
- Javascript学习笔记二 之 变量
- 详解MySQL插入和查询数据的相关命令及语句使用
- 一个兼容FF的智能超长文章分页JS
- 解析PHP跨站刷票的实现代码
- 如何搭建新的WPF项目框架
- Nginx负载均衡(架构之路)详解
- 深入理解 JavaScript 中的 JSON
- JS获取元素多层嵌套思路详解
- 当前流行的JavaScript代码风格指南
