【模板】冒泡排序

c++模板实现冒泡排序 c++模板实现的冒泡排序(vs2019) 模板实现的冒泡排序可以对任意数据类型的数据进行排序,这样节省了大量的时间去写重复的代码. 在此之前,我将交换任意数据类型的模板和打印任意数据类型数据的模板也写了出来,这样用起来很方便. 在这里插入代码片 #include<iostream> using namespace std; //交换两个数的模板 template<class T&... 阅读详情

冒泡排序基本思想

在第0次循环中:从第0个元素开始,将两个相邻的元素两两比较,如果逆序则交换顺序。这样比较n-1次(只有n-1个数对)以后,最后的元素就是最大的元素。(之所以称之为冒泡排序,是因为关键字大的元素就像冒泡一样依次地浮出水面)

这样依次进行n-1次循环,这样序列就有序了。

以比较次数作为基本操作分析:

平均时间复杂度:o(n^2)

最好时间复杂度:o(n^2)

最坏时间复杂度:o(n^2)

特性

1.具有稳定性。

2.冒泡排序是快速排序的基础。

//冒泡排序 
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
void swap(int& a,int &b){//交换元素,注意是引用 
	int temp = a;
	a = b;
	b = temp; 
}
void bubbleSort(int a[],int n)
{
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n-1-i;j++)
		{
			if(a[j+1]<a[j]) swap(a[j+1],a[j]);//如果出现逆序就交换 
		}
	}
 } 
 int main(void)
{
	int n = 10;
	int arr[10] = {0};
	for(int i=0;i<n;i++)
	{
		arr[i]=rand()%1000;
	}
	for(int i=0;i<n;i++)
	{
		cout<<arr[i]<<" ";
	}
	cout<<endl; 
	bubbleSort(arr,10);
	for(int i=0;i<n;i++)
	{
		cout<<arr[i]<<" ";
	}
	return 0;
}

图片来源

用模板函数写冒泡排序 利用模板函数来写冒泡排序可以做到数据类型的多样性。 例子如下: #include &lt;iostream&gt; #define N 5 using namespace std; template &lt;typename T&gt; void get_num(T *a) { for(int i=0;i&lt;N;i++) { cin&gt;&gt;a[i]; } } t... 阅读详情

相关推荐

用函数模板写冒泡排序法

bubble_sort.cpp  记住这个写法,冒泡排序背下来   #include &lt;iostream&gt; using namespace std; //输入 //函数模板 template &lt;typename T&gt; //函数模板参数列表 void get(T *array, int Len) //模板函数参数列表 { for(in...

zys15195875600的博客 4051

冒泡排序(模板)

基本思想:交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置。 特点: ①升序:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。 ②降序:将键值较大的记录向序列的头部移动,键值较小的记录向序列的后部移动 冒泡排序的特性总结: 冒泡排序是一种非常容易理解的排序 时间复杂度:O(N^2) 空间复杂度:O(1) 稳定性:稳定 #include <vect...

晶凌玄夜的博客 1011

冒泡排序算法的C++函数模板

冒泡排序算法的C++函数模板,适用于多种数据类型,如int,float,double等

模板实现冒泡排序

冒泡排序是一种简单的交换排序方式。

LWJLWJ_的博客 582

迅投miniQMT量化交易之【网格交易】的实现(25)——写在最后

和大家一起分享如何使用miniQMT实现我们自己的网格交易系统。如果您对量化交易感兴趣,欢迎一起交流。

tzzqn2008的专栏 830

yanshee 机器人全流程指南

2.点击yanshee app右上角根据提示操作 3.当手机显示成功连接 ,按下机器人胸前按钮说出“ip地址”4.根据机器人播报的ip地址加上:8888使用浏览器访问,你就会看到 jupyterd的界面,里面可以新建文件也可以改他存在的文件。我们使了yanshee机器人,这个是面向K12、中高职、高校学生推出的开源人形机器人教育平台,应用于课程教学、竞赛、科研活动等场景。我们接下来可以根据这些apl做许多好玩的,比如控制他运动,跳舞唱歌,it`s easy。注意电脑,手机,机器人必须连同一个网。

qq_44827929的博客 7614

冒泡排序模板

注意j

2301_79431343的博客 195

从命名玄学看单片机江湖:STC、STM32与ESP32的型号密码与设计哲学

本文解析了STC、STM32和ESP32三大主流单片机系列的型号命名规则,揭示了其背后的设计哲学与市场策略。通过详细解读STC89C52、STM32F103C8T6等具体型号,帮助开发者理解芯片核心特性、性能等级及适用场景,为嵌入式系统选型提供实用指南。

g5h6i的博客 762

[算法]冒泡排序模板

冒泡排序模板 #include <iostream> #include<cstdio> using namespace std; //bubbleSort void bubbleSort(int a[], int n){//这里int a[] 其实就是数组的首地址;n是数组中待排序元素的个数,不是下标 int tmp = 0; for(int i=0;i&...

LumenWang 531

PaddleOCR GPU部署:从环境配置到避坑实战指南

本文详细介绍了PaddleOCR GPU部署的全过程,从环境配置到避坑实战指南。通过分析常见的部署失败原因,提供硬件兼容性自查、软件环境精配方案以及路径配置的解决方案,帮助用户高效完成GPU加速的OCR任务部署,避免90%的常见错误。

weixin_30839881的博客 419

【Java核心高阶进阶】44-Java8核心新特性

模块十:Java新特性演进 · 第 1 篇Java 8 是 Java 语言历史上最重要的一次发布,它引入的函数式编程范式从根本上改变了 Java 的编码方式。即便到了 JDK 21 的今天,Lambda、Stream、Optional 仍是日常开发的高频工具。本篇将深入这些特性的语法、原理与底层机制,帮助你不仅会用,更知其所以然。

gaochufukanyongren的博客 24

C++ 冒泡排序,模板

模板是C++支持参数化多态的工具,是泛型编程的基础。模板可以实现类型参数化,即把类型定义为参数,真正实现了代码的可重用性,减少了编程及维护的工作量,并且降低了编程的难度。模板是类或函数在编译时定义所需处理和返回的数据类型。一个模板是类或函数的描述,及模板分为函数模板和类模板,本章将正对函数模板和类模板的相关知识进行讲解。

WdIg-2023的博客 967

后摄模块辐射超标整改

某行车记录仪在EMI测试中出现辐射超标问题,通过模块剥离法定位到后摄模块的Ethernet数据线为噪声源。深入检查发现TYPE-C延长线屏蔽层未有效接地,形成辐射泄漏通道。整改措施包括加强屏蔽层360°接地、使用导电布改善连接处屏蔽等,最终使辐射降至EN55032 Class B限值以内。案例揭示了高速信号延长线中屏蔽连续性的重要性,建议设计阶段就重视连接器屏蔽设计和共模干扰抑制。

硬核科技 256

用模板写冒泡排序-链表

大家好,今天继续模板shi

尹成的技术博客 1953

一键开关机电路

一键开关机电路

让你爱上电路设计 4181

Java开发者终极抉择:IntelliJ IDEA vs VS Code —— 4大维度深度对比评测

🔥关注墨瑾轩,带你探索Java的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手!🚀🔥技术宝库已备好,就等你来挖掘!🚀🔥订阅墨瑾轩,智趣学习不孤单!🚀🔥即刻启航,编程之旅更有趣!🚀在Java开发领域,选择合适的集成开发环境(IDE)对于提高开发效率和代码质量至关重要。和(简称VS Code)是两个广受好评的开发工具,各自拥有独特的特性和庞大的用户群。本篇将从多个维度深入探讨这两款IDE对Java开发者来说的优劣,包括但不限于性能、用户体验、生态系统、调试能力、以及特定Java功能的支持等方面。

java专栏 8591

冒泡排序的模板函数

将类型进行参数化,就可以制造函数模板了。下面实现冒泡排序的模板函数。 //bubbleSort.h template void bubblesort(T arr[],int n) { bool done=0; //标志位 for (int i=1;i<n&&!done; i++) { done=1; for (int j=1;j<=n-1;j++) if(arr[j-1]

sanqima的专栏 3574

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

冒泡排序C++模板实现

冒泡排序C++模板实现 #include #include using namespace std; //冒泡排序 template void BubSort(T *begin, T *end) { T *pi, *pj; for (pi = end; pi > begin; pi--) for (pj = begin + 1; pj < pi; pj++) if (

hgy2011的专栏 1023

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

c++:利用模板类实现冒泡排序

首先我们来明确函数模板与类模板的概念及其用法。 模板是一种对类型进行参数化的工具,通常有两种形式------&gt;函数模板和类模板。 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 函数模板的格式:     template &lt;class 形参名,class 形参名,......&gt; 返回类型 函数名(参数列表)    {        ...

xutong98的博客 5482

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C++冒泡排序模板

template void print(T *array,const int size) { if(NULL==array) throw; if(0>=size) return; int i=0; for(;i<size;++i) cout<<array[i]<<" "; cout<<endl; } template void bubble_sort(T

杜甲同学的专栏 1452

用模板编写冒泡排序

之前我们所写的冒泡排序是只能对数按升序或降序排列,现在我们用模板类来对冒泡函数进行扩展,使其同时实现升序和降序排列。

xiaodu655的博客 606

c++冒泡排序的类模板的实现

算法:基于特定的计算模型,旨在解决某一信息处理问题而设计的指令序列。 算法的特性:确定性,有穷性、正确性。 设计算法的时候,需要考虑算法退化(即算法的边界情况)从而使得算法具有鲁棒性,并且还要考虑算法的重用性。 1、在下面的冒泡排序中,Size<0或者>131000就说边界条件。 2、将冒泡排序写成类模板,就解决的算法的重用性。 3、在循环里面添加bool类型的数据,就是考虑当数组本身...

weixin_41498246的博客 524

用模板写冒泡排序-数组

今天,我们一起来写一个冒泡排序,仍然使用模板,具体如例

尹成的技术博客 2107
上一篇: 【模板】插入排序
下一篇: 【模板】快速排序及寻找区间第k大
coderwait
博客等级 码龄9年 20粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值