1. 程式人生 > >upper_bound與lower_bound在輸出時的兩種不同用法

upper_bound與lower_bound在輸出時的兩種不同用法

在查資料的時候發現upper_bound與lower_bound分別指的是第一個大於和大於等於元素的位置。

但是有的不同的輸出方式的作用是不同的

比如輸出第一個大於等於x的元素和x可以插入的最後一個位置,這個是同用upper_bound來實現

注意這兩種不同,一個是元素一個是位置。

upper_bound與lower_bound的實現方式是二分查詢,所以需要確保陣列已經是升序。

而且upper_bound(seq1, seq1+7, 4)返回的是地址,注意一下

#include <iostream>
#include <algorithm>
using namespace std;
int seq1[] = {1, 2, 3, 3, 4, 4, 5};
int main()
{
    int *p=upper_bound(seq1, seq1+7, 4);/// 第一個大於4的元素
    cout<<*p<<endl;///輸出是5
    int *q=lower_bound(seq1, seq1+7, 4);///第一個大於等於4的元素
    cout<<*q<<endl;///輸出是4
    cout<<upper_bound(seq1, seq1+7, 4) - seq1<<endl; ///4可以插入的最後一個位置
    ///注意陣列第一個位置是0
    ///此處輸出是6
    cout<<lower_bound(seq1, seq1+7, 4) - seq1<<endl; ///大於等於4可以插入的第一個位置
    ///此處輸出是4
    return 0;
}

相關推薦

upper_boundlower_bound輸出不同用法

在查資料的時候發現upper_bound與lower_bound分別指的是第一個大於和大於等於元素的位置。但是有的不同的輸出方式的作用是不同的比如輸出第一個大於等於x的元素和x可以插入的最後一個位置,這個是同用upper_bound來實現注意這兩種不同,一個是元素一個是位置。

針對不同的日期格式進行轉成年月日分秒的格式

provide mes nbsp code oba cnblogs -m bsp class 有兩個時間字符串,格式分別是 string dateEnglish = "1-6-14 8:25";//格式為 月-日-年 string dateFranch = "13-1-1

Python-資料結構演算法(十一、字典(對映)——基於不同的底層實現)

保證一週更兩篇吧,以此來督促自己好好的學習!程式碼的很多地方我都給予了詳細的解釋,幫助理解。好了,幹就完了~加油! 宣告:本python資料結構與演算法是imooc上liuyubobobo老師java資料結構的python改寫,並添加了一些自己的理解和新的東西,liuyubobobo

JFreeChartAJAX+JSON+ECharts處理方式生成熱詞統計可視化圖表

線型 static 後臺 標註 png tip 開源工具 grid 讀取 本篇的思想:對HDFS獲取的數據進行兩種不同的可視化圖表處理方式。第一種JFreeChar可視化處理生成圖片文件查看。第二種AJAX+JSON+ECharts實現可視化圖表,並呈現於瀏覽器上。    

類之間的關系------新標準c++程序設計

必須 nbsp light radius cpp radi div 一點 int 在c++中,類和類之間有兩種基本關系:復合關系和繼承關系。 復合關系也稱為“has a”關系或“有”的關系,表現為封閉類,即一個類以另一個類的對象作為成員變量。 繼承關系也稱為“i

靜態庫和動態庫的不同的Makefile寫法

不同 .so code lib pic 動態庫 sha stat 靜態 動態庫 PROG=add BIN=$(PROG).bin SOADD= lib$(PROG).so SHAREDOBJS= $(PROG).o OBJS= main.o CC=gcc $(PROG)

Python——裝飾器(不同的使用場景)

error juc 決定 mat 通過 增加 使用場景 ttr ora #例子,通過裝飾器給show_name()函數增加驗證功能 #version 1 #普通函數不帶參數,裝飾器帶參數 def auth(func): # print(func.__name__)

Angularjs1.X進階筆記(1)—不同的雙向數據綁定

mark .com 出現問題 ont 監聽回調 你在 div 實時 dir 一. html與Controller中的雙向數據綁定 html-Controller的雙向數據綁定,在開發中非常常見,也是Angularjs1.x的宣傳點之一,使用中並沒有太多問題。 1.1數據從h

python不同連接數據庫方式

eat conf trunc mit odi () Coding password .get python兩種不同連接數據庫方式 使用python來操作數據庫,第一時間都會想到MySQLdb這個庫,但是個人感覺還是peewee庫比較好用,寫出來的代碼更加規範、更加優美。這

response向客戶端輸出方式

1. response.getOutputStream()  輸出位元組流, 客戶端會下載位元組流並生成檔案儲存本地 response.setHeader("Content-disposition", "attachment;filename= ***.**"); //

SQL三表連線的不同思路

之前寫SQL一直都是按照基本的思路 select from 表1 LEFT JOIN where。。。 今天看到別人的SQL ,雖然新方法更復雜,但是確實開闊了思路。 step1 set宣告變數 step2 方法一: SELECT T1…, T2… FROM (SELECT 列1,列2… F

WKWebViewH5互動的方式

互動方式一:原生互動(以WKWebView為栗子) 1.原生呼叫H5方法 [wkWebView evaluateJavaScript:@"js方法名" completionHandler:^(id _Nullable response, NSError * _Nullable err

div控制顯示隱藏狀態的方式

要點: 1.本人原來用的是IDEA編譯器,因為什麼環境都配置好了,程式碼提示功能也好,介面也優美,可惜什麼都好導致太龐大。本人在自習室敲程式碼,筆記本電池管不了一上午,後用sublime,真輕便哈哈。但是裡面的外掛的程式碼其實,應該是隻收錄了js的關鍵字,然後給的提示,並不會篩選。這裡,因為前段

SAP金稅連線有方式:元件介面及文字介面。

SAP與金稅連線有兩種方式:元件介面及文字介面。 文字介面為例: 1、SAP取發票資料,主要來自合同,銷售訂單,交貨單,發票,客戶供應商主資料等 2、SAP處理:合併,拆分,折扣等 3、匯出TXT文字 4、金稅開票機讀取文字:通過引數傳遞資料,注意1分錢誤差問題(引數傳遞導致) 5、回寫

各式標籤二維碼明確採用QR碼或DM碼,其不同碼制的區別表現

摘自:http://blog.sina.com.cn/s/blog_15118fad00102xcb2.html 首先,我們要先了解什麼是DM碼,它與QR碼區別在哪裡?DM碼即data matrix原名data code,中文翻譯過來資料矩陣碼。該碼是原美國國際資料公司在1989年發明,且具有國

spring +ehcache 註解方式配置快取(springgooglecode 的ehcache

前言:有人知道 -spring  +ehcache 註解方式和mybatis +ehcache的區別嗎? (①spring的ehcache與②googlecode 的ehcache)//這是兩種配置,都能實現ehcache快取。綠色表示1需要,藍色表示2需要 黑色表示都需要 googl

建立github遠端倉庫本地連線的方式

準備 下好Git Bash和註冊github賬號 建立ssh公鑰 bash下 ssh-keygen -t rsa -C "[email protected]" 到C:\Users\City.ssh下複製id_rsa.pub的內容 在github 賬號 的setti

使用 awk 生產表的不同方式

使用 awk 生產表的兩種不同方式 awk 可以用於解決重複性高的任務,核心在於使用 awk 來批量的生成需要的表。這裡的表既可以是特定的格式設定,如圖形介面中的 style ,也可以是程式碼或者其它。 這裡我以圖形介面中的 style 為例。 當我需要對多個功能不同,操作方

【Python3】不同的繼承方式The two different inheritance method when using python3

During the review of python classes, I found out that i missed the different situation of inheritance in python The first type and the second t

輸入字串,逆序輸出方法)

問題描述 從鍵盤上輸入一組字串,實現逆序輸出。 解題思路 方法一:輸出的時候從(n-1)的資料往前依次輸出。 方法二:假設輸入n個字元,字串預設末尾補上' \0 ',將第0個字元和第(n-1)個字元交換,依次交換中間的資料 輸入的資料 H E