例题冒泡排序具体过程

来源:6-5 数组的应用(一)

红尘客栈丶

2015-08-27 15:44

99,94,95,93,92,91,90,88,97,89
---------排序具体过程--------

--------第1遍排序开始--------
第0遍:
94,99,95,93,92,91,90,88,97,89
第1遍:
94,95,99,93,92,91,90,88,97,89
第2遍:
94,95,93,99,92,91,90,88,97,89
第3遍:
94,95,93,92,99,91,90,88,97,89
第4遍:
94,95,93,92,91,99,90,88,97,89
第5遍:
94,95,93,92,91,90,99,88,97,89
第6遍:
94,95,93,92,91,90,88,99,97,89
第7遍:
94,95,93,92,91,90,88,97,99,89
第8遍:
94,95,93,92,91,90,88,97,89,99
本次排序总遍数:9
第1遍结束后排序:
94,95,93,92,91,90,88,97,89,99


--------第2遍排序开始--------
第0遍:
94,95,93,92,91,90,88,97,89,99
第1遍:
94,93,95,92,91,90,88,97,89,99
第2遍:
94,93,92,95,91,90,88,97,89,99
第3遍:
94,93,92,91,95,90,88,97,89,99
第4遍:
94,93,92,91,90,95,88,97,89,99
第5遍:
94,93,92,91,90,88,95,97,89,99
第6遍:
94,93,92,91,90,88,95,97,89,99
第7遍:
94,93,92,91,90,88,95,89,97,99
本次排序总遍数:8
第2遍结束后排序:
94,93,92,91,90,88,95,89,97,99


--------第3遍排序开始--------
第0遍:
93,94,92,91,90,88,95,89,97,99
第1遍:
93,92,94,91,90,88,95,89,97,99
第2遍:
93,92,91,94,90,88,95,89,97,99
第3遍:
93,92,91,90,94,88,95,89,97,99
第4遍:
93,92,91,90,88,94,95,89,97,99
第5遍:
93,92,91,90,88,94,95,89,97,99
第6遍:
93,92,91,90,88,94,89,95,97,99
本次排序总遍数:7
第3遍结束后排序:
93,92,91,90,88,94,89,95,97,99


--------第4遍排序开始--------
第0遍:
92,93,91,90,88,94,89,95,97,99
第1遍:
92,91,93,90,88,94,89,95,97,99
第2遍:
92,91,90,93,88,94,89,95,97,99
第3遍:
92,91,90,88,93,94,89,95,97,99
第4遍:
92,91,90,88,93,94,89,95,97,99
第5遍:
92,91,90,88,93,89,94,95,97,99
本次排序总遍数:6
第4遍结束后排序:
92,91,90,88,93,89,94,95,97,99


--------第5遍排序开始--------
第0遍:
91,92,90,88,93,89,94,95,97,99
第1遍:
91,90,92,88,93,89,94,95,97,99
第2遍:
91,90,88,92,93,89,94,95,97,99
第3遍:
91,90,88,92,93,89,94,95,97,99
第4遍:
91,90,88,92,89,93,94,95,97,99
本次排序总遍数:5
第5遍结束后排序:
91,90,88,92,89,93,94,95,97,99


--------第6遍排序开始--------
第0遍:
90,91,88,92,89,93,94,95,97,99
第1遍:
90,88,91,92,89,93,94,95,97,99
第2遍:
90,88,91,92,89,93,94,95,97,99
第3遍:
90,88,91,89,92,93,94,95,97,99
本次排序总遍数:4
第6遍结束后排序:
90,88,91,89,92,93,94,95,97,99


--------第7遍排序开始--------
第0遍:
88,90,91,89,92,93,94,95,97,99
第1遍:
88,90,91,89,92,93,94,95,97,99
第2遍:
88,90,89,91,92,93,94,95,97,99
本次排序总遍数:3
第7遍结束后排序:
88,90,89,91,92,93,94,95,97,99


--------第8遍排序开始--------
第0遍:
88,90,89,91,92,93,94,95,97,99
第1遍:
88,89,90,91,92,93,94,95,97,99
本次排序总遍数:2
第8遍结束后排序:
88,89,90,91,92,93,94,95,97,99


--------第9遍排序开始--------
第0遍:
88,89,90,91,92,93,94,95,97,99
本次排序总遍数:1
第9遍结束后排序:
88,89,90,91,92,93,94,95,97,99

-------彻底排序完成后-------
88,89,90,91,92,93,94,95,97,99

写回答 关注

6回答

  • 雨芽
    2015-11-02 15:35:12
    已采纳

    好认真,你是个好人


  • 天神墨迹
    2020-02-02 11:33:06

    厉害,大佬

  • 小冒哥
    2015-12-11 09:44:58

    谢谢大神

  • 红尘客栈丶
    2015-11-12 08:59:04

    只是改下程序就行嘛 = =

    源代码如下

    #include <stdio.h>

    int main()

    {

        int arr[]={99,94,95,93,92,91,90,88,97,89};

        int i,j,t;

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

        {

            if(i!=9)

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

            else

                printf("%d\n",arr[i]);

        }

        printf("---------排序具体过程--------\n");

        for(t=8;t>=0;t--)

        {

           printf("\n--------第%d遍排序开始--------\n",9-t);

           int k;

           k=0;

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

            {

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

                {

                    int temp;

                    temp=arr[j];

                    arr[j]=arr[j+1];

                    arr[j+1]=temp;

                     }

                    printf("第%d遍:\n",k++);

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

                    {

                        if(i!=9)

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

                        else

                                printf("%d\n",arr[i]); 

                }

                

            }

        printf("本次排序总遍数:%d\n",t+1);

        printf("第%d遍结束后排序:\n",9-t);

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

                    {

                        if(i!=9)

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

                        else

                                printf("%d\n",arr[i]);

                     }

                     printf("\n");

        }

        printf("-------彻底排序完成后-------\n");

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

            {

                if(i!=9)

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

                else

                     printf("%d\n",arr[i]);

            }

        return 0;

    }


  • 小小小丶小白
    2015-09-13 15:48:53

    66666666666

  • Magic振宏2013蓄势待发
    2015-09-09 11:11:49

    真拼啊

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926022 学习 · 20793 问题

查看课程

相似问题