zoukankan      html  css  js  c++  java
  • 快速排序

    快速排序有很多优化版本,在此仅列出最基本的方法。参见链接

    /* This function takes last element as pivot,
           places the pivot element at its correct
           position in sorted array, and places all
           smaller (smaller than pivot) to left of
           pivot and all greater elements to right
           of pivot */
        int partition(int arr[], int low, int high)
        {
            int pivot = arr[high]; 
            int i = (low-1); // index of smaller element
            for (int j=low; j<high; j++)
            {
                // If current element is smaller than the pivot
                if (arr[j] < pivot)
                {
                    i++;
      
                    // swap arr[i] and arr[j]
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
      
            // swap arr[i+1] and arr[high] (or pivot)
            int temp = arr[i+1];
            arr[i+1] = arr[high];
            arr[high] = temp;
      
            return i+1;
        }
      
      
        /* The main function that implements QuickSort()
          arr[] --> Array to be sorted,
          low  --> Starting index,
          high  --> Ending index */
        void sort(int arr[], int low, int high)
        {
            if (low < high)
            {
                /* pi is partitioning index, arr[pi] is 
                  now at right place */
                int pi = partition(arr, low, high);
      
                // Recursively sort elements before
                // partition and after partition
                sort(arr, low, pi-1);
                sort(arr, pi+1, high);
            }
        }
  • 相关阅读:
    序列合并
    基础数论函数练习题
    Chirp Z-Transform
    [IOI2020]数蘑菇
    springboot devtools 依赖
    RestTemplate的使用(项目实例)
    Springboot事件监听实例
    HttpClient的使用(项目实例)
    通过http方式传递base64图片字符串无法还原成图片的原因
    springboot实现滑动验证码(redis+token+base64)
  • 原文地址:https://www.cnblogs.com/faded828x/p/13286062.html
Copyright © 2011-2022 走看看