冒泡排序算法

来源:互联网 发布:mplayerx mac dmg 编辑:程序博客网 时间:2024/05/19 03:43

1.问题描述

设计一个程序,实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。

2.问题要求

每个排序过程输出一行,直到排序完成.

3.C代码实现

#include<stdio.h>
int main()
{
    int a[10]={9,8,7,6,5,4,3,2,1,0};
    int temp;
    int i,j,k;
    for(i=0;i<10-1;i++)
    {
        for(j=0;j<10-i-1;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
            for(k=0;k<10;k++)
                printf("%d ",a[k]);
            printf("\n");
        }
    }
    return 0;
}

4.运行结果

8 9 7 6 5 4 3 2 1 0
8 7 9 6 5 4 3 2 1 0
8 7 6 9 5 4 3 2 1 0
8 7 6 5 9 4 3 2 1 0
8 7 6 5 4 9 3 2 1 0
8 7 6 5 4 3 9 2 1 0
8 7 6 5 4 3 2 9 1 0
8 7 6 5 4 3 2 1 9 0
8 7 6 5 4 3 2 1 0 9
7 8 6 5 4 3 2 1 0 9
7 6 8 5 4 3 2 1 0 9
7 6 5 8 4 3 2 1 0 9
7 6 5 4 8 3 2 1 0 9
7 6 5 4 3 8 2 1 0 9
7 6 5 4 3 2 8 1 0 9
7 6 5 4 3 2 1 8 0 9
7 6 5 4 3 2 1 0 8 9
6 7 5 4 3 2 1 0 8 9
6 5 7 4 3 2 1 0 8 9
6 5 4 7 3 2 1 0 8 9
6 5 4 3 7 2 1 0 8 9
6 5 4 3 2 7 1 0 8 9
6 5 4 3 2 1 7 0 8 9
6 5 4 3 2 1 0 7 8 9
5 6 4 3 2 1 0 7 8 9
5 4 6 3 2 1 0 7 8 9
5 4 3 6 2 1 0 7 8 9
5 4 3 2 6 1 0 7 8 9
5 4 3 2 1 6 0 7 8 9
5 4 3 2 1 0 6 7 8 9
4 5 3 2 1 0 6 7 8 9
4 3 5 2 1 0 6 7 8 9
4 3 2 5 1 0 6 7 8 9
4 3 2 1 5 0 6 7 8 9
4 3 2 1 0 5 6 7 8 9
3 4 2 1 0 5 6 7 8 9
3 2 4 1 0 5 6 7 8 9
3 2 1 4 0 5 6 7 8 9
3 2 1 0 4 5 6 7 8 9
2 3 1 0 4 5 6 7 8 9
2 1 3 0 4 5 6 7 8 9
2 1 0 3 4 5 6 7 8 9
1 2 0 3 4 5 6 7 8 9
1 0 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

0 0