选修课Office高级应用:冒泡法排序算法详解与实践.pptx

选修课Office高级应用:冒泡法排序算法详解与实践.pptx

冒泡法排序(基于C语言)

主讲人:小白

冒泡法排序(升序)算法思路

将相邻两个数比较,小的换到前面

步骤如下:

有n个数(存放在数组a[0]~a[n-1]中),第1轮将每相邻两个数比较,小的换到前面,经过n-1次两两相邻比较后,最大数已“沉底”,小数上升“浮起”。

除去“沉底”的最大数,第2轮对余下的n-1个数按上法比较,经过n-2次两两相邻比较后得次大的数。

以此类推,n个数经n-1轮比较,排序完毕。

冒泡法排序过程(以5个数为例)

原始数据

第1轮冒泡

第2轮冒泡

第3轮冒泡

第4轮冒泡

7

2

9

1

6

a[0]

a[1]

a[2]

a[3]

a[4]

9

7

9

6

7

9

7

2

9

1

6

2

7

1

6

2

1

6

1

2

代码实现

for(i=0;i4;i++)

for(j=0;j4-i;j++)

if(a[j]a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

5个数需要经历4轮选择(i=0~3)

每轮需要经过4-i次比较

若前面的数比后面的大则需要交换,把大的换到后面去

iN-1;

iN-i-1;

课程名称:C语言程序设计

课件内容:冒泡法排序

主讲人:小白

网站:

E-mail:

文档评论(0)

1亿VIP精品文档

相关文档