十大经典排序算法之冒泡排序【一】

博客介绍了冒泡排序算法,它是最简单的排序算法,原理是依次比较相邻元素,顺序错误就交换,重复查询数列,直到无需交换元素。还说明了算法步骤,如比较相邻元素、一轮查询使最大元素到末端等,最后给出代码参考博客。

【冒泡排序】(Bubble Sort

a)       原理

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

b)       演示动态图

 

c)        算法步骤

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

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

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

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

d)       代码实现

 1 #include <iostream>
 2 using namespace std;
 3 //函数声明
 4 void BubbleSort(int[],int);//冒泡排序
 5 void ShowArray(int[],int);//打印
 6 
 7 //主函数
 8 int main()
 9 {
10     int array_a[] = {5,6,8,2,4,62,31,58,94,50,16};
11     int len = sizeof(array_a)/sizeof(array_a[0]);
12     //打印数组
13     cout << "原始数组: ";
14     ShowArray(array_a,len);
15 
16     //1-冒泡排序
17     BubbleSort(array_a,len);
18     //打印数组
19     cout << "【冒泡】排序后数组: ";
20     ShowArray(array_a,len);
21 
22     return 0;
23 }
24 //函数实现之打印数组
25 void ShowArray(int array_a[],int len)
26 {
27 
28     for(int i=0;i<len;i++)
29     {
30         cout << array_a[i] << "  ";
31     }
32     cout << endl;
33 }
34 //函数实现之冒泡排序:分为外层和内层;
35 void BubbleSort(int array_a[],int len)
36 {
37     for (int i=0;i<len-1;i++) //外层控制比较的轮数;
38     {
39         for (int j=0;j<len-i-1;j++)//内层控制每轮比较的次数;
40         {
41             if (array_a[j]>array_a[j+1])
42             {
43                 int temp;
44                 temp = array_a[j];
45                 array_a[j] = array_a[j+1];
46                 array_a[j+1] = temp;
47             }
48         }
49     }
50 }

 

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

转载于:https://www.cnblogs.com/xdak/p/10957844.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值