首页 > 其他分享 >10-1、(**) 排序函数模板

10-1、(**) 排序函数模板

时间:2023-04-22 14:56:33浏览次数:40  
标签:10 include 函数 int arraySize 排序 模板

已知主函数如程序后缀代码所示,请为其编写适当的模板函数,使主函数的bubbleSort函数可以对一个整型数组和一个浮点数数组进行输入、排序、输出操作。

#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;

template <typename T>
T bubbleSort(T *p,const int arraySize)
{
    sort(p,p+arraySize);
    return *p;//p表示地址,*p表示访问地址获得变量 
}
//StudybarCommentBegin
int main()
{ 
   const int arraySize = 10;  // size of array
   int a[ arraySize ] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }, i;

   // display int array in original order
   cout << "Integer data items in original order\n";

   for ( i = 0; i < arraySize; ++i )
      cout << setw( 6 ) << a[ i ];

   bubbleSort( a, arraySize );          // sort the array

   // display int array in sorted order
   cout << "\nInteger data items in ascending order\n";

   for ( i = 0; i < arraySize; ++i )
      cout << setw( 6 ) << a[ i ];

   cout << "\n\n";

   // initialize double array
   double b[ arraySize ] = { 10.1, 9.9, 8.8, 7.7, 6.6, 5.5,
                            4.4, 3.3, 2.2, 1.1 };
   
   // display double array in original order								 
   cout << "double point data items in original order\n";

   for ( i = 0; i < arraySize; ++i )
      cout << setw( 6 ) << b[ i ];

   bubbleSort( b, arraySize );          // sort the array
   
   // display sorted double array
   cout << "\ndouble point data items in ascending order\n";

   for ( i = 0; i < arraySize; ++i )
      cout << setw( 6 ) << b[ i ];

   cout << endl;

   return 0;

} // end main
//StudybarCommentEnd

-END

标签:10,include,函数,int,arraySize,排序,模板
From: https://www.cnblogs.com/peitongshi/p/17343092.html

相关文章

  • 函数模板
    思考:如果重载的函数,其解决问题的逻辑是一致的、函数体语句相同,只是处理的数据类型不同,那么写多个相同的函数体,是重复劳动,而且还可能因为代码的冗余造成不一致性。解决:使用模板例:求绝对值函数的模板主函数如下intmain(){intn=-5;doubled=-5.5;cout<<abs(n)<<endl;cout<<abs(......
  • T233293 【模板】堆排序
    题目描述利用堆排序算法将读入的 N 个数从小到大排序后输出。输入格式第 11 行为一个正整数 N,第 22 行包含 N 个空格隔开的正整数 ai​,为你需要进行排序的数,数据保证了 Ai​ 不超过 109109。输出格式将给定的 N 个数从小到大输出,数之间空格隔开,行末换行......
  • 八大排序算法(c语言实现)
    title:八大排序算法(c语言实现)小知识:1)八大排序算法皆是内部排序。2)稳定的算法在排序的过程中不会改变元素彼此的位置的相对次序。反之不稳定的算法会经常改变这个相对次序。排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性冒泡排序O(n^2)......
  • 剑指Offer——10-I.斐波那契数列(c语言)
    title:剑指Offer10-I.斐波那契数列(c语言)写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:F(0)=0,F(1)=1F(N)=F(N-1)+F(N-2),其中N>1.斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取......
  • 剑指Offer——10-II.青蛙跳台阶问题(c语言)
    title:剑指Offer10-II.青蛙跳台阶问题(c语言)一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1。示例1:输入:n=2输出:2示例2:输入:n=7输出:21示例3:输入:n......
  • 力扣——83.删除排序链表中的重复元素(c语言)
    title:力扣——83.删除排序链表中的重复元素(c语言)题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入:1->1->2输出:1->2示例2:输入:1->1->2->3->3输出:1->2->3代码如下:/***Definitionforsingly-linkedlist.*structListNode{*......
  • 10.2阿基米德B组第11题
       视频看:https://www.bilibili.com/video/BV1Jo4y1b7Rz/?vd_source=189e32a0967ed45997385a775f5fc6a1    ......
  • MB10S-ASEMI小贴片桥堆MB10S
    编辑:llMB10S-ASEMI小贴片桥堆MB10S型号:MB10S品牌:ASEMI封装:MBS-4正向电流:1A反向电压:1000V引脚数量:4芯片个数:4芯片尺寸:50MIL漏电流:>10ua恢复时间:>2000ns浪涌电流:30A芯片材质:GPP硅芯片正向电压:1.06V封装尺寸:如图特性:整流桥、贴片桥堆工作结温:-50℃~150℃包装方式:3k......
  • Windows10上安装mysql 8.0|mysql 8.0安装教程
    1、下载适合自己操作系统的mysql安装文件,解压就可直接用  下载地址:https://dev.mysql.com/downloads/mysql/ 2、解压压缩包,目录结构如下。解压后的压缩包里没有my.ini文件和data文件夹,my.ini可以自己手动建,但是data文件夹千万不可手动创建3、新建my.ini文件并添加最简配......
  • MB10S-ASEMI小贴片桥堆MB10S
    编辑:llMB10S-ASEMI小贴片桥堆MB10S型号:MB10S品牌:ASEMI封装:MBS-4正向电流:1A反向电压:1000V引脚数量:4芯片个数:4芯片尺寸:50MIL漏电流:>10ua恢复时间:>2000ns浪涌电流:30A芯片材质:GPP硅芯片正向电压:1.06V封装尺寸:如图特性:整流桥、贴片桥堆工作结温:-50℃~150℃包装方式:3k/盘;30K/箱MB10S的电......