• 快速排序


      快速排序在也算是一种常见的比较高效的算法了,它是冒泡排序的升级版。

      具体原理思路:

          1,在数组中找一个数为基准。

          2,定义两个指针从左到右分别与基准做对比,大的数字放右边,小的放左边。

          3,递归实现。

    具体实现代码:

     //快速排序
            public static void QuickSort(int[] arr,int begin,int end)
            {
                if (begin < end)
                {
                    int Mid = arr[begin];//定义一个比较的基准
                    int i = begin;//记录开始位置
                    int j = end;//记录指针指向的结束
                    while (i < j)//判断开始指针和结束指针是否重合
                    {
                        //移动指针
                        while (i < j)//
                        {
                            if (arr[j] <= Mid )//如果指针指向的值小于基准值
                            {
                                arr[i] = arr[j];//交换位置
                                break;//跳出循环
                            }
                            else
                            {
                                j--;//移动指针
                            }
    
                        }
                        while (i < j)
                        {
                            if (arr[i] >= Mid )//指针i指向的值大于基准值
                            {
                                arr[j] = arr[i];//交换位置
                                break;//跳出循环
                            }
                            else
                            {
                                i++;//移动指针
                            }
                        }
    
                    }
                    arr[i] = Mid; 将基准值赋值给最后一个位置。
                    QuickSort(arr, begin, i - 1); //左递归
                    QuickSort(arr, i + 1, end);//右递归
                }
            }
     
     
  • 相关阅读:
    ViewState与Session [转]
    HTML5和HTML4的主要区别 [转]
    委托 与 Lambda
    ArcGIS 基础4-删除数据
    ArcGIS 基础3-新建数据
    ArcGIS 基础2-编辑数据
    ArcGIS 基础1-打开地图文档并浏览
    成都地铁线路图
    矢量数据库合并工具
    ArcGIS Pro试用下载步骤
  • 原文地址:https://www.cnblogs.com/zpy1993-09/p/13153346.html
Copyright © 2020-2023  润新知