標題:
lower_bound & upper_bound (1)
[打印本頁]
作者:
tonyh
時間:
2023-9-7 21:07
標題:
lower_bound & upper_bound (1)
本帖最後由 tonyh 於 2023-10-12 21:09 編輯
vector
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
//vector<int> v={9,7,5,12,2};
//vector<int> v(5);
int main()
{
/*
v[0]=9;
v[1]=7;
v[2]=5;
v[3]=12;
v[4]=2;
*/
v.push_back(9);
v.push_back(2);
v.push_back(5);
v.push_back(2);
v.push_back(5);
v.push_back(7);
v.push_back(5);
v.push_back(12);
cout<<v.size()<<endl;
cout<<"-------"<<endl;
sort(v.begin(),v.end());
for(int i: v)
cout<<i<<endl;
cout<<"-------"<<endl;
cout<<*lower_bound(v.begin(),v.end(),5)<<endl; //大於或等於目標對象的最小值位置
cout<<*upper_bound(v.begin(),v.end(),5)<<endl; //大於目標對象的最小值位置
cout<<*lower_bound(v.begin(),v.end(),12)<<endl;
cout<<*upper_bound(v.begin(),v.end(),12)<<endl; //找不到(會回傳end()所指向位置)
cout<<*v.begin()<<endl; //最前面的元素
cout<<*v.rbegin()<<endl; //最後面的元素
return 0;
}
複製代碼
set
#include<bits/stdc++.h>
using namespace std;
set<int > s;
int main()
{
s.insert(9);
s.insert(2);
s.insert(5);
s.insert(2);
s.insert(5);
s.insert(7);
s.insert(5);
s.insert(12);
cout<<s.size()<<endl;
cout<<"-------"<<endl;
for(int i: s)
cout<<i<<endl;
cout<<"-------"<<endl;
cout<<*s.lower_bound(7)<<endl; //大於或等於目標對象的最小值位置
cout<<*s.upper_bound(7)<<endl; //大於目標對象的最小值位置
cout<<*s.lower_bound(12)<<endl;
cout<<*s.upper_bound(12)<<endl; //找不到(會回傳end()所指向位置)
cout<<*s.begin()<<endl; //最前面的元素
cout<<*s.rbegin()<<endl; //最後面的元素
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2