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);
            }
        }
    }
}

最新文章

  1. 微信开发中网页授权access_token与基础支持的access_token异同
  2. Mysql查询英文如何严格区分大小写?
  3. Xcode自定义Eclipse中常用的快捷键
  4. [k]web页面-browser兼容问题-1
  5. JAVA线程同步辅助类Exchanger-交换
  6. EclEmma的介绍、安装与使用
  7. 【读书笔记】读《JavaScript高级程序设计-第2版》 - 非函数部分
  8. 在HCI层看从inquiry的整个过程
  9. 给出一个数组A,找出一对 (i, j)使得A[i] &lt;= A[j] (i &lt; j)并且j-i最大
  10. 关于Hibernate的总结
  11. Linux下多任务间通信和同步-概述
  12. C# byte[]与char[]、string与char[]、byte[] 与 string 互转
  13. Oracle基础知识笔记(10) 约束
  14. redis CONFIG REWRITE介绍
  15. Oracle查询用户权限
  16. 【自动化测试&amp;爬虫系列】Selenium Webdriver
  17. docker 基础之操作容器
  18. HDFS: The short-circuit local reads feature cannot be used
  19. Python参数传递(传值&amp;传引用)
  20. android 水波纹效果实现

热门文章

  1. Appium IOS 自己主动化測试初探
  2. SQlite-数据库的访问实例(转)
  3. 关于Webpack详述系列文章 (第二篇)
  4. BZOJ3514: Codechef MARCH14 GERALD07加强版(LCT,主席树)
  5. activity-栈相关属性
  6. Linux设备空间存储满问题
  7. menuconfig_kconfig
  8. v-for一定要与v-bind:key=&quot;id&quot;连用
  9. 【博客之星】CSDN2013博客之星--分析和预测
  10. WebService学习总结(5)——WebService常见开发框架比较