冒泡排序法能说清楚点吗?

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:11:37

冒泡排序. 将一组整数按小到大排列后存回原存贮区.
算法: 相邻二个数比较,小的调到前头.
数据结构:
变量n: 这一组数的个数,从键盘输入.
一维数组a: 存放这n 个数(a[1],……,a[n-1],a[n])
循环变量i=1, j=1
框图:
j=1,只要外循环次数j未到n-1次
i=1, 只要内循环次数i未完
Y a[i]>a[i+1] N
a[i] a[i+1]
i=i+1
j=j+1
输出排好序的a[1]------a[n]

main( )
{ int a[ 100] , n , i , j , t ;
scanf(“%d”, &n) ;
for( i=1 ; i<=n ; i++) scanf(“%d”, &a[i]) ;
for( j=1; j<=n-1; j++)
for( i=1 ; i<=n-j ; i++) 小的往上冒
if (a[i]>a[i+1] ) 沉下最大的.
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t; }
for( i=1 ; i<=n ; i++)
printf(“%d ”, a[i] );
}