zoukankan      html  css  js  c++  java
  • .net版 快速排序算法实现

    查了下网上很多朋友写的.net版快速排序算法,总觉得写得比较复杂,所以决定自己写个简单点的
    要排序的数组为:

    int[] sortArray = new int[] { 45,36,54,2,4,65,22,3,45,65,4,3,88,99,100,14,133,22};
    然后写个递归的快速排序算法方法:
    private void Recursion(int[] sortArray, int left, int right){

            
    if (left >= right) return;

            
    int il = left;
            
    int jr = right;

            
    int temp = sortArray[left];//设置数组的第一个元素为比较基数

            
    while (left != right) {

                
    //从右向左找
                while(right > left){

                    
    if (temp > sortArray[right]){

                        
    int m = sortArray[left];
                        sortArray[left] 
    = sortArray[right];
                        sortArray[right] 
    = m;
                        
    break;
                    }
                    right
    --;
                }
                
    //从左向右找
                while (right > left){

                    
    if (temp <= sortArray[left]){

                        
    int m = sortArray[left];
                        sortArray[left] 
    = sortArray[right];
                        sortArray[right] 
    = m;
                        
    break;
                    }
                    left
    ++;
                }
            }

            Recursion(sortArray, il, left 
    - 1);
            Recursion(sortArray, left 
    + 1, jr);
        }
    很简单,对吧,然后输出排序好的数组就可以了:
            Recursion(sortArray, 0, sortArray.Length - 1);

            StringBuilder bui 
    = new StringBuilder();
            
    for (int i = 0; i < sortArray.Length; i++) {

                bui.Append(sortArray[i]).Append(
    "  ");
            }
            
    return bui.ToString();
    完成!
    请大家批评指正,谢谢
  • 相关阅读:
    [模板]杜教筛
    [NOIP2014]解方程
    [NOIP2016] 组合数问题
    [HAOI2011] Problem b
    Rmq Problem mex
    [模板]Link-Cut-Tree
    [SDOI2013]森林
    单调队列优化多重背包
    [USACO17JAN]Promotion Counting
    [模板] 点分治
  • 原文地址:https://www.cnblogs.com/lizheng114/p/1387210.html
Copyright © 2011-2022 走看看