快速排序

来源:互联网 发布:c语言布尔类型变量 编辑:程序博客网 时间:2024/06/14 09:10

快速排序为冒泡排序的一种。

举例:

                               46  30  82  90  56  17  95  15        选择46 作为基准值,i = 0, j = 7

           i = 0                                j = 7

                   15  30  82  90  56  17  95  46       15 < 46, 交换 15 和 46,移动 i, i = 1

             i = 1                           j = 7

            15  30  82  90  56  17  95  46       30 < 46, 不需要交换,移动 i , i = 2

               i = 2                   j = 7

            15  30  46  90  56  17  95  82       82 > 46, 交换82 和 46,移动 j , j = 6

               i = 2               j = 6

            15  30  46  90  56  17  95  82       95 > 46, 不需要交换,移动 j , j = 5

               i = 2         j = 5

            15  30  17  90  56  46  95  82       17 < 46, 交换46 和 17,移动 i, i = 3

                 i = 3    j = 5

            15  30  17  46  56  90  95  82       90 > 46, 交换90 和 46,移动 j , j = 4

               3 = i    j = 4

            15  30  17  46  56  90  95  82       56 > 46, 不需要交换,移动 j , j = 3

                     i  =  j = 3

先以一个数为基准,若以最左边的数为基准,则从最右边开始寻找,找到比其大的,则交换,然后从左边第二个开始寻找,第三个第四个……直到找到比它小的,到最后为,该数左边为比它小的,最右边为比它大的。
0 0
原创粉丝点击