<关于c语言冒泡问题-生活百科-满米百科
> 生活百科 > 列表
关于c语言冒泡问题
时间:2024-12-23 21:48:43
答案

算法思想:通过相邻两个数之间的比较和交换,使较小的数逐渐从底部移向顶部(小数上浮), 较大的数逐渐从顶部移向底部(大数下沉),就像水底的气泡一样逐渐向上冒,故而得名。

排序步骤:

(1)比较第一个数与第二个数,若a[0]>a[1],则交换,大数放在a[1]中;然后比较a[1]与a[2]……依次类推,直至第n-1个数和第n个数比较结束为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上,沉到了最底部;

(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在 第n-1个元素位置;

(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束

说明:

n个数据排序,需要进行n-1轮冒泡排序,第i轮冒泡需要n-i次比较;

使用两重循环控制整个排序过程,外层循环控制比较的轮次,内层循环控制每一轮的比较次数。

例:从键盘上任意输入5个整数,要求按从小到大进行排序并在屏幕上显示出来。(冒泡排序法)

#include "stdio.h"

#define N 5

void main()

{int i,j,temp,a[N];

for(i=0;i

scanf("%d",&a[i]);

for(i=1;i

for(j=0;j

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

{temp=a[j];a[j]=a[j+1]; a[j+1]=temp;}

for(i=0;i

printf("%d ",a[i]);

}

推荐
© 2024 满米百科