• 排序算法


     /// <summary>
            /// 冒泡排序
            /// </summary>
            /// <param name="arr"></param>
            public static void BuildderScort(int[] arr)
            {
                for (int i = 0; i < arr.Length- 1; i++)
                {
                    for (int j = 0; j < arr.Length-1-i; j++)
                    {
                        if (arr[j] > arr[j + 1])
                        {
                            int temp = arr[j];
                            arr[j] = arr[j + 1];
                            arr[j + 1] = temp;
                        }
                    }
                }
            }
            /// <summary>
            /// 选择排序
            /// </summary>
            /// <param name="arr"></param>
            public static void SelectScort(int[] arr)
            {
                for (int i = 0; i < arr.Length; i++)
                {
                    int minValue = arr[i];
                    int minIndex = i;
                    for (int j = i; j < arr.Length; j++)
                    {
                        if (minValue > arr[j])
                        {
                            minValue = arr[j];
                            minIndex = j;
                        }
                    }
                    int temp = arr[minIndex];
                    arr[minIndex] = arr[i];
                    arr[i] = temp;
                }
            }
            /// <summary>
            /// 插入排序
            /// </summary>
            /// <param name="arr"></param>
            public static void InsertScort(int[] arr)
            {
                for (int i = 0; i < arr.Length; i++)
                {
                    int insertValue = arr[i];
                    int insertIndex = i- 1;
                    while (insertIndex >= 0 && insertValue <= arr[insertIndex])
                    {
                        arr[insertIndex + 1] = arr[insertIndex];
                        insertIndex--;
                    }
                    arr[insertIndex + 1] = insertValue;
                }
            }
            /// <summary>
            /// 快速排序
            /// </summary>
            /// <param name="left"></param>
            /// <param name="right"></param>
            /// <param name="arr"></param>
            /// <returns></returns>
            private static int Quick(int left, int right, int[] arr)
            {
                int temp = arr[left];
                while (left < right)
                {
                    while (left < right && arr[right] >= temp)
                    {
                        right--;
                    }
                    if (left < right)
                    {
                        arr[left] = arr[right];
                        left++;
                    }
                    while (left < right && arr[left] < temp)
                    {
                        left++;
                    }
                    if (left < right)
                    {
                        arr[right] = arr[left];
                        right--;
                    }
                }
                arr[left] = temp;
                return left;
            }
            public static void QuickScort(int left, int right, int[] arr)
            {
                if (left < right)
                {
                    int temp = Quick(left, right, arr);
                    QuickScort(left, temp- 1, arr);
                    QuickScort(temp + 1, right, arr);
                }
            }
  • 相关阅读:
    主从数据库
    Linux 安装 mysql
    centos7.5上安装go1.13.4
    Linux 安装php
    CENTOS7下安装redis
    CentOS 7安装Etherpad(在线协作编辑)
    nginx《一安装》
    springboot中redis取缓存类型转换异常
    linux安装mysql
    linux上传下载文件(转载https://www.jb51.net/article/143112.htm)
  • 原文地址:https://www.cnblogs.com/LoVeSW/p/3425211.html
Copyright © 2020-2023  润新知