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;
}
时间: 2024-09-20 05:28:35

C++实践参考:排序函数模板的相关文章

《C语言及程序设计》实践参考——Bessel函数

返回:贺老师课程教学链接  项目要求 [项目3:Bessel函数]Bessel函数Jn(X)有以下的递推关系: 编写程序,利用递推关系,由任意的n和x≠0求Jn(X). [参考解答] #include <stdio.h> #include <math.h> int main( ) { double jn, j0, j1, x; int n, i; scanf("%d %lf", &n, &x); j0=sin(x)/x; j1=sin(x)/(x

一个排序用的C++函数模板

前段时间编写MFC程序时,需要对一个字符串集合CStringArray进行排序.标准模板库STL提供的函数模板sort虽然功能强大,但有两个不便: 1. sort使用枚举器(iterator)机制处理C++数组(即指针)和诸如vector这样的STL对象,但MFC集合类CArray.CStringArray没有提供枚举器.虽然可以通过集合类的成员函数GetData把集合转换成指针,然后调用sort进行处理,但这样做破坏了对象的封装性. 2.如果使用降序排序,还需要另外编一个比较函数. 为此我自己

新人求教,C++用模板写qsort所需的排序函数以实现对所有类型的排序

问题描述 新人求教,C++用模板写qsort所需的排序函数以实现对所有类型的排序 我写了个模板类,为了使cmp能对任意类型的数据来排序,但是却报错:错误 1 error C3867: "A::cmp": 函数调用缺少参数列表:请使用"&A::cmp"创建指向成员的指针 求教这是为什么 该怎么改? 这是我的代码: #include #include using namespace std; template class A{ public: void up(T

用函数模板实现和优化抽象操作

摘要:本文介绍函数模板的概念.用途以及如何创建函数模板和函数模板的使用方 法...... 在创建完成抽象操作的函数时,如:拷贝,反转和排序,你必须定义多个版 本以便能处理每一种数据类型.以 max() 函数为例,它返回两个参数中的较大者: double max(double first, double second); complex max(complex first, complex second); date max(date first, date second); //..该函数的 其

HDU 1286 找新朋友(欧拉函数模板)

HDU 1286 找新朋友:http://acm.hdu.edu.cn/showproblem.php?pid=1286 题意:中文题. 思路:欧拉函数的纯模板题,没什么好说的,主要是理解欧拉函数的意义. 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商数等. 例如φ(8)=4,因为1,3,5,7均和8互质.   ----by度娘. 更多精彩内容:http://www.bia

javascript排序函数实现数字排序

  这篇文章主要介绍了javascript排序函数实现数字排序的相关资料,附上示例,需要的朋友可以参考下 javascript排序函数实现数字排序 ? 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 <script> function SortNumber(obj,func) //定义通用排序函数 { //参数验证,

深入解析C++中的函数模板和函数的默认参数_C 语言

C++函数模板 我们知道,数据或数值可以通过函数参数传递,在函数定义时它们是未知的,只有在发生函数调用时才能确定其值.这就是数据的参数化. 其实,数据类型也可以通过参数来传递,在函数定义是可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的参数自动确定数据类型.这就是数据类型参数化. 所谓函数模板,实际上是建立一个通用函数,其返回值类型和形参类型不具体指定,用一个虚拟的类型来代替(实际上是用一个标识符来占位).这个通用函数就称为函数模板(Function Template).凡是函数

PHP中shuffle数组值随便排序函数用法_php技巧

本文实例讲述了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

PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析_php技巧

sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于对数组单元从高到低进行排序并保持索引关系. ksort() 函数用于对数组单元按照键名从低到高进行排序. krsort() 函数用于对数组单元按照键名从高到低进行排序. sort() PHP sort() 函数用于对数组单元从低到高进行排序,如果成功则返回 TRUE,失败则返回 FALSE. 注意: