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

    代码改变世界
  • 相关阅读:
    数据库模式
    数据流模式、转换、格式与操作
    桥接模式=抽象层协作关系+继承体系注入
    php 中更简洁的三元运算符 ?:
    larave5.6 将Excel文件数据导入数据库代码实例
    Laravel获取所有的数据库表及结构
    Laravel框架数据库CURD操作、连贯操作总结
    insert into 语句的三种写法
    Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值
    laravel5.4将excel表格中的信息导入到数据库中
  • 原文地址:https://www.cnblogs.com/oreobyzf/p/5897929.html
Copyright © 2011-2022 走看看