C语言之冒泡排序

冒泡排序:

1). 简介

           其实就是把一个数组的元素,按照从小到大(从大到小)得顺序,重新排列起来,这种排序就叫冒泡排序

 

           例: int nums[5] = {5,4,3,2,1};

          

           //经过排序后

           下标0的元素变成了1

           下标1的元素变成了2

           下标2的元素变成了3

           下标3的元素变成了4

           下标4的元素变成了9

 

2). 核心思想

           有N轮,每轮从第一个元素开始跟下一个元素进行比较,大的放在后面,小的放在前面

 

下标:                  0        1        2        3        4       

                         5        4        3        2        1

 

第一轮:            4        5        3        2        1        nums[0] > nums[0+1]; //交换俩个下标种的元素

                      4        3        5        2        1        nums[1] > nums[1+1]

                      4        3        2        5        1        nums[2] > nums[2+1]

                      4        3        2        1        5        nums[3] > nums[3+1]

                                                                                    这一轮比较了4次

 

第二轮              3        4        2        1        5        nums[0] > nums[0+1];

                      3        2        4        1        5        nums[1] > nums[1+1]

                      3        2        1        4        5        nums[2] > nums[2+1];

                                                                                    这一轮比较了3次

 

第三轮              2        3        1        4        5        nums[0] > nums[0+1];

                      2        1        3        4        5        nums[1] > nums[1+1];

                                                                                    这一轮比较了2次

 

第四轮              1        2        3        4        5        nums[0] > nums[0+1];

                                                                                    这一轮比较了1次

 

 

 

posted @ 2016-11-02 21:20  zero的小纸条  阅读(1068)  评论(0编辑  收藏  举报