#include<iostream>
#include<cstdlib>
#include<ctime>
#define M   100000000
#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;// 在有序的一亿个数中查找一个数所用的时间 2.5us// clock() 是以ms为单位的bool  Binarysearch(int *a, int low, int high, int x){// 二分查找// 并未重复调用Binarysearch函数while (low <= high){int mid = (low + high) / 2;if (a[mid] == x)return true;else if (a[mid] > x)high = mid - 1;else  low = mid + 1;}return false;}int main()
{int *a=new int[M];// a[M] M太大,直接用a[M]会报错。int testNum = 1000000;bool ret = false;for (int i = 0; i < M; i++)a[i] = i + 1;clock_t startTime = clock();srand((unsigned)time(NULL));for (int i = 0; i < testNum; i++){int tmp = random(M - testNum, M + testNum);ret = Binarysearch(a, 0, M, tmp);}clock_t endTime = clock();cout << 1 << endl;cout << (endTime - startTime)*1.0 / testNum;delete []a;
}

在一亿个数的有序数组中查找一个数所用时间相关推荐

  1. 循环有序数组中查找某个数

    循环有序数组中查找某个数 利用二分查找,  一个循环有序数组从中间切分,一定分成一个有序数组和一个循环有序数组,由于循环有序数组不容易判断,我们只需判断哪一边是有序数组以及target是不是在有序数组 ...

  2. 在数组中查找一个数并输出所处位置

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p73 4.1.2 上级实训内容 [实训内容2]输入10个数,保存在一个数组中,再任意输入一个数,在数组 ...

  3. C语言向有序数组中插入一个数使该数组仍保持有序

    C语言向有序数组中插入一个数使该数组仍保持有序 #include<stdio.h> int main() {     int n,i,j,t,k;     printf("您喜欢 ...

  4. 【C语言】用二分查找法在有序数组中查找具体的某个数

    当给定一个有序数组,而我们要在这个数组中查找某个数时,我们常常用从头到尾的排除法遍历寻找,但是这种方式及其低效,n个数的数组最差要找n次.而后面我们会知道,二分查找法则高效的多,最差要找log以2为低 ...

  5. 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。

    原文转自:http://blog.csdn.net/u013322907/article/details/38300711 题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们 ...

  6. 有序数组中查找数字的范围

    有序数组中查找数字的范围 如题所示: 思路 源代码如下: 如题所示: 统计一个数字在排序数组中出现的次数 思路 使用二分查找,分别找到数字的下边界和上边界 源代码如下: class Solution ...

  7. 【编程题目】输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。...

    第 14 题(数组): 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 O(n).如果有多对数字的和等于输入的数字,输出任意 ...

  8. 在二维数组中查找一个数

    在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列也按照从上到下递增的顺序排列.在这样一个序列中查找一个数 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 例如查找 ...

  9. C语言经典例39-在有序数组中插入一个数

    目录 1 题目 2 分析 3 实现 4 运行结果 1 题目 有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 2 分析 对于一个有序的数组,要插入一个数,并保持依然有序,方法是从 ...

最新文章

  1. Springboot 日志、配置文件、接口数据如何脱敏?老鸟们都是这样玩的!
  2. “双一流”高校毕业生就业图鉴:企业都偏爱哪些高校?
  3. 链表节点的删除(删除重复无序节点)
  4. Disruptor之概览
  5. ROS安装:Ubuntu18.04安装配置ROS-melodic
  6. 简单说明PHP的垃圾收集机制是怎样的?
  7. MobX - 基于响应式的状态管理
  8. 学成在线--13.RabbitMQ工作模式
  9. Shell脚本之awk详解
  10. 2019仿笔趣阁小说网站源码(PC版+手机版+APP+采集器+教程)下载
  11. 深度学习入门之txt文本文件转换为npz文件
  12. 三菱f800变频器 频率设定_三菱plc和变频器通讯怎么设置频率
  13. 错题集:Censored!
  14. 国内数字藏品交易平台开发市场会开放二级市场吗
  15. longest-common-prefix[最长公共子序列]
  16. 使用Android studio 开发xposed插件
  17. 以智汀和小米为例,聊一聊智能网关在智能家居中的应用
  18. 企业邮箱支持通过手机号登录邮箱
  19. Java Gradle入门指南之gretty插件(安装、命令与核心特性)
  20. ibverbs文档翻译

热门文章

  1. php mysql存储中文为空_PHP如何解决MySQL存储数据中文乱码
  2. vue 多个api请求_Vue+Django REST framework实战3.RESTful API和VUE目录结构
  3. 计算机软件自学基础,计算机软件基础一高等教育自学考试试题与答案
  4. bs4爬取的时候有两个标签相同_利用Python爬取OPGG上英雄联盟英雄胜率及选取率信息!...
  5. matlab 离散傅里叶变换_时域上的采样VS频域上的周期延拓。用离散傅里叶变换直观地演示...
  6. byte用json存 c++_.NET Core 3.1中的Json互操作最全解读收藏级
  7. 通达信波段王指标公式主图_通达信波段王主图指标公式
  8. php自动include,PHP include_php
  9. python 开发工具_Python开发工具之神兵利器
  10. 不宜使用Selenium自动化的10个测试场景