十大经典排序算法之冒泡排序

释放双眼,带上耳机,听听看~!

【冒泡排序】(Bubble Sort

a)       原理

冒泡排序是最简单的排序算法。它依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来,它重复的查询所要排序的数列。查询数列的工作直到不需要再进行交换元素即停止。排序过程中越小的元素经过交换依次冒泡浮岛数列的始端,由此得名冒泡。

b)       演示动态图

 十大经典排序算法之冒泡排序

c)        算法步骤

l  比较相邻元素。如果前者比后者大,则进行交换;

l  依次查询数列中相邻元素,并进行比较,因此,一轮查询后,最大元素位于末端;

l  针对剩余数列元素重复上述查询比较工作;

l  重复上述步骤,直到数列排序完成。

d)       代码实现

#include <iostream>
using namespace std;
//函数声明
void BubbleSort(int[],int);//冒泡排序
void ShowArray(int[],int);//打印

//主函数
int main()
{
    int array_a[] = {5,6,8,2,4,62,31,58,94,50,16};
    int len = sizeof(array_a)/sizeof(array_a[0]);
    //打印数组
    cout << \"原始数组: \";
    ShowArray(array_a,len);

    //1-冒泡排序
    BubbleSort(array_a,len);
    //打印数组
    cout << \"【冒泡】排序后数组: \";
    ShowArray(array_a,len);

    return 0;
}
//函数实现之打印数组
void ShowArray(int array_a[],int len)
{

    for(int i=0;i<len;i++)
    {
        cout << array_a[i] << \"  \";
    }
    cout << endl;
}
//函数实现之冒泡排序:分为外层和内层;
void BubbleSort(int array_a[],int len)
{
    for (int i=0;i<len-1;i++) //外层控制比较的轮数;
    {
        for (int j=0;j<len-i-1;j++)//内层控制每轮比较的次数;
        {
            if (array_a[j]>array_a[j+1])
            {
                int temp;
                temp = array_a[j];
                array_a[j] = array_a[j+1];
                array_a[j+1] = temp;
            }
        }
    }
}

 

参考博客:https://www.cnblogs.com/onepixel/articles/7674659.html,再次感谢!

给TA打赏
共{{data.count}}人
人已打赏
随笔日记

Posture Energy——姿态的能量

2020-11-9 5:10:44

随笔日记

Ubuntu16.04不用管理员权限安装caffe依赖(上)

2020-11-9 5:10:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索