【算法】快速排序

Java实现
//快速排序
    public static void quick_sort(int[] data,int left,int right,int size)
    
{
        
if(left<right)
        
{
            
int lbase=left+1;
            
while(data[lbase]<data[left])
            
{
                
if(lbase+1>size-1)
                
{
                    
break;
                }

                lbase
++;
            }

            
int rbase=right;
            
while(data[rbase]>data[left])
            
{
                
if(rbase-1<left)
                
{
                    
break;
                }

                rbase
--;
            }

            
while(lbase<rbase)
            
{
                
int temp=data[lbase];
                data[lbase]
=data[rbase];
                data[rbase]
=temp;
                lbase
++;
                
while(data[lbase]<data[left])
                
{
                    lbase
++;
                }

                rbase
--;
                
while(data[rbase]>data[left])
                
{
                    rbase
--;
                }

            }

            
int temp=data[left];
            data[left]
=data[rbase];
            data[rbase]
=temp;
            quick_sort(data,left,rbase
-1,size);
            quick_sort(data,rbase
+1,right,size);
        }

    }

posted on 2009-04-25 23:38 intrl 阅读(1133) 评论(0)  编辑 收藏 引用 所属分类: 数据结构与算法

只有注册用户登录后才能发表评论。
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

随笔分类(55)

随笔档案(34)

网址收藏

资源下载

随笔导航

搜索

最新评论

阅读排行榜

评论排行榜