WEB开发网
开发学院软件开发C语言 C#实现所有经典排序算法汇总 阅读

C#实现所有经典排序算法汇总

 2009-05-06 08:27:04 来源:WEB开发网   
核心提示: 3、快速排序快速排序class QuickSorter { private void swap(ref int l, ref int r) { int temp; temp = l; l = r; r = temp; } public void Sort(int[] lis

3、快速排序

快速排序
class QuickSorter   
{   
    private void swap(ref int l, ref int r)   
    {   
        int temp;   
        temp = l;   
        l = r;   
        r = temp;   
    }   
    public void Sort(int[] list, int low, int high)   
    {   
        int pivot;//存储分支点   
        int l, r;   
        int mid;   
        if (high <= low)   
            return;   
        else if (high == low + 1)   
        {   
            if (list[low] > list[high])   
                swap(ref list[low], ref list[high]);   
            return;   
        }   
        mid = (low + high) >> 1;   
        pivot = list[mid];   
        swap(ref list[low], ref list[mid]);   
        l = low + 1;   
        r = high;   
        do  
        {   
        while (l <= r && list[l] < pivot)   
            l++;   
        while (list[r] >= pivot)   
            r--;   
            if (l < r)   
                swap(ref list[l], ref list[r]);   
        } while (l < r);   
        list[low] = list[r];   
        list[r] = pivot;   
        if (low + 1 < r)   
            Sort(list, low, r - 1);   
        if (r + 1 < high)   
            Sort(list, r + 1, high);   
    }     
}  

上一页  1 2 3 4 5 6 7  下一页

Tags:实现 所有 经典

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接