specialping

sort排序

           例:70   73   69   23   93   18   11   68

               i                                  j

快速排序

       1. 用最后一个数和这组数(从头)开始比较大小,

          若这个数小于数组比较的这个数,则交换这两个数的位置

          ji比较大小;

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

   for(int j=9;j>=0;j--)

         排序168   73   69   23   93   18   11   70

                            i    i+1                                          j

         果:68   70   69   23   93   18   11   73

         O3

        

         排序268   70   69   23   93   18   11   73

                           i    i+1   i+2  i+3   i+4                   j                 

         结果: 68   70   69   23   73   18   11   93

         O6

 

         排序368   70   69   23   73   18   11   93    //确定93为最大的数

                           i     i+1  i+2   i+3   i+4  i+5   i+6   j

                           //从这一步可知,下一个数由j+1与前数组注意比较

         结果: 68   70   69   23   73   18   11   93   

                                                 // 意味着开始j的第二重循环

         O7

        

         排序468   70   69   23   73   18   11   93

                            i                             j-1   j

         结果: 11   70   69   23   73   18   68   93 

         O2

 

         排序511   70   69   23   73   18   68   93

                            i    i+1                       j-1   j   

         结果:   11   68   69   23   73   18   70   93

        O3  

 

         排序611   68   69   23   73   18   70   93

                            i    i+1  i+2   i+3   i+4       j-1    j

         结果:  11   68   69   23   70   18   73   93

        O6

 

        排序7 11   68   69   23   70   18   73   93

                             i    i+1                  j-2   j-1    j

        结果:  11   18   69   23   70   68   73   93

        O3

 

       排序811   18   69   23   70   68   73   93

                         i    i+1  i+2              j-2   j-1   j

       结果:  11   18   68   23   70   69   73   93

       O4

 

      排序9 11   18   68   23   70   69   73   93

                          i    i+1  i+2   i+3   i+4   j-2   j-1    j

      结果:  11   18   68   23   69   70   73   93

      O6

 

     排序1011   18   68   23   69   70   73   93

                         i    i+1  i+2   i+3   j-3   j-2   j-1   j

     结果:    11   18   68   23   69   70   73   93

     O4

 

     排序1111   18   68   23   69   70   73   93

                         i    i+1   i+2  j-4   j-3   j-2   j-1   j

     结果:  11   18    23   68   69   70   73   93

     O4

 

预计时间复杂度:O(n)=O48

               最大是多少?

posted on 2011-12-09 22:46 曦冉 阅读(378) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理