zoukankan      html  css  js  c++  java
  • C# 二分法查找和排序

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace AAA
    {
        public class Dichotomy
        {
            public static void DichotomySort(int[] array)
            {
                for (int i = 0; i < array.Length; i++)
                {
                    int start = 0;

                    int end = i - 1;

                    int middle = 0;

                    int temp = array[i];

                    while (start <= end)
                    {
                        middle = (start + end) / 2;

                        if (array[middle] > temp)//要排序元素在已经排过序的数组左边
                        {
                            end = middle - 1;
                        }
                        else
                        {
                            start = middle + 1;
                        }
                    }
                    for (int j = i - 1; j > end; j--)//找到了要插入的位置,然后将这个位置以后的所有元素向后移动
                    {
                        array[j + 1] = array[j];
                    }

                    array[end + 1] = temp;

                }
            }

            public static long DichotomySearch(long[] array, long key, long high, long low)
            {
                long middle = 0;

                if (high < low)
                {
                    return -1;
                }

                middle = (low + high) / 2;

                if (array[middle] == key)
                {
                    return middle;
                }
                else if (array[middle] > key)
                {
                    return DichotomySearch(array, key, middle - 1, low);
                }
                else
                {
                    return DichotomySearch(array, key,high, middle + 1);
                }
            }
        }
    }

    代码改变世界
  • 相关阅读:
    Python3之format
    xml文件整理
    某系统采集2018
    sublime+python3 中文环境
    python3文本读取与写入常用代码
    redis3.0集群使用发现的一些问题
    mysql字符集
    redis3.0集群搭建
    安装Maven、nexus
    一键安装mysql5.6
  • 原文地址:https://www.cnblogs.com/oreobyzf/p/5897929.html
Copyright © 2011-2022 走看看