c语言冒泡排序法程序填空_C语言冒泡排序法的简单程序

最佳答案

main()

{

int i,j,temp;

int a[10];

for(i=0;i<10;i++)

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

for(j=0;j<=9;j++)

{ for (i=0;i<10-j;i++)

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

{ temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;}

}

for(i=1;i<11;i++)

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

printf("\n");

}

--------------

冒泡算法

冒泡排序的算法分析与改进

交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没

有反序的记录为止。

应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。

冒泡排序

1

、排序方法

将被排序的记录数组

R[1..n]

垂直排列,

每个记录

R

看作是重量为

R.key

的气泡。

根据轻气泡不能在重气泡

之下的原则,从下往上扫描数组

R

:凡扫描到违反本原则的轻气泡,就使其向上

"

飘浮

"

。如此反复进行,

直到最后任何两个气泡都是轻者在上,重者在下为止。

(

1

)初始

R[1..n]

为无序区。

(

2

)第一趟扫描

从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即

依次比较

(R[n]

R[n-1])

(R[n-1]

R[n-2])

(R[2]

R[1])

对于每对气泡

(R[j+1]

R[j])

R[j+1].key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值