一、冒泡排序
1、冒泡排序
从数组的右到左对数组进行两两比较排序,大的放到最右边。第一遍比较后最小的元素在最左边的0号位置,第二遍开始将第2小的数据放到1号位置,一直比较到只剩最后两个元素确认是否交换为止。
2、优缺点
优点:1、简单
缺点:1、在各种情况下的比较次数都相等,效率低
算法复杂度:O(n~n^2) 空间复杂度:O(n)+辅助变量空间
二、测试代码
#include <iostream>
#include <vector>
using namespace std;
/******************************
冒泡排序:从数组的右到左对数组进行两两比较排序,大的放到最右边。
第一遍比较后最小的元素在最左边的0号位置,第二遍开始将第2小的数
据放到1号位置,一直比较到只剩最后两个元素确认是否交换为止。
优点:1、简单
缺点:1、在各种情况下的比较次数都相等,效率低
算法复杂度:O(n~n^2) 空间复杂度:O(n)+辅助变量空间
******************************/
// 实现方法一
template<typename T>
void bubbleSort1(T data[], int n)
{
for(int i=0; i<n-1; i++)
{
for(int j=n-1; j