posts - 16, comments - 0, trackbacks - 0, articles - 0

Quick Sort

Posted on 2008-08-27 15:45 dengbo 阅读(732) 评论(0)  编辑 收藏 引用 所属分类: Data Struct
void SelectSort(int num[], int count)
{
    
int tmp,minIndex;
    
for(int i=0; i<count; i++)
    
{
        minIndex 
= i;
        
for(int j=i+1; j<count; j++)
        
{
            
if(num[minIndex]>num[j])
            
{
                minIndex
=j;
            }

        }

        
if(minIndex != i)
        
{
            tmp 
= num[i];
            num[i] 
= num[minIndex];
            num[minIndex] 
= i;
        }

    }

}
void quicksort (int a[], int lo, int hi)
{
//  lo is the lower index, hi is the upper index
//  of the region of array a that is to be sorted
    int i=lo, j=hi, h;
    
int x=a[(lo+hi)/2];

    
//  partition
    do
    
{    
        
while (a[i]<x) i++
        
while (a[j]>x) j--;
        
if (i<=j)
        
{
            h
=a[i]; a[i]=a[j]; a[j]=h;
            i
++; j--;
        }

    }
 while (i<=j);

    
//  recursion
    if (lo<j) quicksort(a, lo, j);
    
if (i<hi) quicksort(a, i, hi);    
}


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