冒泡排序:
◆实例:农民选种子的时候会把所有的种子放到水里,颗粒饱满的下沉 ,颗粒不饱满的漂到上面这类似于一种冒泡排序。
◆特点:1:每次只能比相邻的两个元素
(a[i]<a[i+1])相比
2:如果顺序不合适就交换
☞: 适合少量数据的情况,如果乱序 数据量大 最好不要用
◆:算法描述:
1:一轮比较所有相邻数据,如果顺序不对就发生交换; =>for(`````````````)
2:本轮只要发生了交换、就再来一轮如果没有发生交换排序成功。 =>先做后判断所以适合dowhile
3: 算法优化,每次可以少比较一个比较的个数减一:
◆:代码:
#include <iostream>
#include <ctime>
using namespace std;
//算出运算所用事件
//定义 BubbleSort 方法
typedef int T;
void BubbleSort (T* arr, int num)
{
//比较一组数据 如果出现了交换 则继续排序 直到没有出现则表示排序成功
//=> do while循环
//定义标记 每一次循环的比较
bool bDoSwap = false; //
do {
bDoSwap = false; //每次循环设置默认为没有发生交换
//循环遍历
for ( int i =0; i<num-1; i++)
{
//大的后移
if(arr[i] > arr[i+1]) {
swap(arr[i], arr[i+1]);
//修改标记
bDoSwap = true;
}
}
//算法优化 令num - 1 因为每次比较结束后 最后一个是最大的 所以最后一个无需再次比较
num--;
}while(bDoSwap);
}
int main()
{
cout << "冒泡排序:"<<endl;
//定义102400长度的数组 越长越能计算所需世间 赋值
const int kNum = 10240;
T arr[kNum];
for (int i=0; i<kNum; i++)
{
arr[i] = kNum - i;
}
time_t tStart = time(NULL);
BubbleSort(arr, kNum);
time_t tEnd = time(NULL);
cout<<"require time:"<<tEnd-tStart <<endl;
//打印前十个看看是否完成排序
for(int i =0; i<10; i++)
{
cout<<arr[i]<<" ";
}
system("pause");
return 0;
}
结果:
分享到:
相关推荐
--C++冒泡排序--
下面我们将详细探讨冒泡排序的原理、C++实现以及相关知识点。 ### 冒泡排序原理 冒泡排序的基本思想是,对于未排序的序列,每次比较相邻的两个元素,如果它们的顺序错误就交换位置。这个过程会重复进行,直到序列中...
冒泡排序具体C++代码实现(dev测试通过),能输出每趟排序后的结果,排序过程中比较的总次数以及最终的排序结果,输入形式为空格隔开的连续正整数,输入-1表示结束输入
在C++中实现冒泡排序,我们需要理解C++的基本语法,包括数组、条件判断语句(if)、循环结构(for或while)以及函数调用。以下是一个简单的C++冒泡排序代码示例: ```cpp #include #include void bubbleSort(int...
现在,我们将深入探讨冒泡排序的C++实现。 在C++中,冒泡排序可以使用以下步骤来实现: 1. **初始化**:首先,我们需要一个包含待排序元素的数组。在C++中,可以声明一个整型数组,并填充一些随机或预定义的数值。...
本文将深入探讨四种在C++中实现的常见排序算法:插入排序、冒泡排序、堆排序和快速排序。这些算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程能力至关重要。 1. **插入排序**: 插入排序是一种简单的...
C++是广泛应用于系统编程、应用编程、游戏开发等多个领域的强大编程语言,因此用C++实现冒泡排序是常见的实践练习。 冒泡排序的工作原理基于比较和交换相邻元素的过程。它重复地遍历待排序的数列,一次比较两个元素...
在C++中实现冒泡排序,可以清晰地理解控制流程和数组操作。以下将详细介绍冒泡排序法及其C++实现。 冒泡排序的基本思想是通过比较相邻元素的大小,将较大的元素逐渐“冒泡”到数组的一端,即排序的末尾。这个过程会...
本篇文章将详细介绍一个用C++实现的冒泡排序算法。冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行的,直到没有再需要...
在实际应用中,冒泡排序算法的C++函数模板可以在许多领域中发挥重要作用,例如数据分析、科学计算、机器学习等。在这些领域中,快速、高效的排序算法可以大大提高计算速度和降低计算成本。 冒泡排序算法的C++函数...
插入排序、冒泡排序、归并排序、快速排序四种排序方式的C++实现,各写成了一个函数,主函数中可以选择调用那一个。初始化数组时用的是随机种子srand((int)time(0))。在宏中定义数组大小。
在本项目中,我们将深入探讨C++如何实现冒泡排序的动态演示动画。这个程序不仅会进行排序,还会以动画的形式展示排序的过程,帮助用户直观地理解冒泡排序的工作原理。 首先,我们要理解冒泡排序的基本思想。冒泡...
在本案例中,我们讨论的是用C++实现冒泡排序的方法。 C++是面向对象的编程语言,尽管冒泡排序更常与C语言关联,但其实它同样适用于C++。C++提供了丰富的库函数和语法特性,使得编写排序算法更为便捷。下面,我们将...
C++中的冒泡排序 C++中的冒泡排序C++中的冒泡排序C++中的冒泡排序C++中的冒泡排序 C++中的冒泡排序 C++中的冒泡排序 C++中的冒泡排序
用C++写了以上三种排序算法,对初学数据结构的同学一个参考
根据给定的文件信息,我们可以深入探讨冒泡排序算法及其在C++中...通过分析和理解冒泡排序的C++实现,不仅可以加深对排序算法的理解,还能掌握如何在C++中利用模板类和成员函数来封装算法,提高代码的复用性和通用性。
在探讨C++冒泡排序这一知识点时,我们不仅会深入理解冒泡排序的基本原理、算法实现,还会细致分析如何在C++中灵活运用该算法进行数据的升序或降序排列。冒泡排序是一种简单的排序算法,其基本思想是通过重复地走访待...
学生信息按序输出_冒泡排序_C++变量引用实现 对学生学习很有好处!!!
在C++中实现冒泡排序,我们可以使用嵌套循环来完成这一过程。外层循环通常用于控制整个排序过程的轮数,而内层循环则负责每一轮中的元素比较与交换。以下是C++实现冒泡排序的基本步骤: 1. **初始化**:首先,定义...
C++ 冒泡排序算法实现代码,用C++编写的冒泡排序算法代码。