標題:
vector 練習 2
[打印本頁]
作者:
tonyh
時間:
2023-10-21 19:48
標題:
vector 練習 2
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int main()
{
v.push_back(7); //新增元素
v.push_back(2);
v.push_back(1);
v.push_back(3);
v.push_back(11);
v.push_back(5);
sort(v.begin(), v.end()); //基礎排序
for(int i: v)
cout<<i<<" ";
cout<<endl;
cout<<"------------"<<endl;
auto it=lower_bound(v.begin(), v.end(), 7); //大於或等於目標對象的最小值的位址
cout<<*it<<endl; //該位址的值
it=upper_bound(v.begin(), v.end(), 7); //大於目標對象的最小值的位址
cout<<*it<<endl;
cout<<"------------"<<endl;
it=upper_bound(v.begin(), v.end(), 9);
cout<<*it<<endl; //11
cout<<*(--it)<<endl; //7
it=lower_bound(v.begin(), v.end(), 3);
cout<<*(++it)<<endl; //5
cout<<"------------"<<endl;
it=lower_bound(v.begin(), v.end(), 3);
cout<<it-v.begin()<<endl; //取得索引值
it=find(v.begin(), v.end(), 2); //非二分搜尋法, 效能較差, 適合用於未排序的資料。
cout<<it-v.begin()<<endl;
cout<<"------------"<<endl;
it=find(v.begin(), v.end(), 12); //找不到時會回傳end()指向的位址
if(it==v.end())
cout<<"no find"<<endl;
it=upper_bound(v.begin(), v.end(), 12);
if(it==v.end())
cout<<"no find"<<endl;
return 0;
}
//1 2 3 5 7 11
複製代碼
作者:
盧禹廷
時間:
2023-10-28 19:50
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int main()
{
v.push_pack(7);
v.push_pack(2);
v.push_pack(1);
v.push_pack(3);
v.push_pack(11);
v.push_pack(5);
sort(v.begin(), v.end());
for(int i: v)
cout<<i<<" ";
cout<<endl;
cout<<"--------------"<<endl;
auto it=lower_bound(v.begin(), v.end(), 7);
cout<<*it<<endl;
it=upper_bound(v.begin(), v.end(), 7);
cout<<*it<<endl;
cout<<"--------------"<<endl;
it=upper_bound(v.begin(), v.end(), 9);
cout<<*it<<endl;
cout<<*(--it)<<endl;
it=lower_bound(v.begin(), v.end(), 3);
cout<<*(++it)<<endl;
cout<<"------------"<<endl;
it=lower_bound(v.begin(), v.end(), 3);
cout<<it-v.begin()<<endl;
it=find(v.begin(), v.end(), 2);
cout<<it-v.begin()<<endl;
cout<<"------------"<<endl;
it=find(v.begin(), v.end(), 12);
if(it==v.end())
cout<<"no find"<<endl;
it=upper_bound(v.begin(), v.end(), 12);
if(it==v.end())
cout<<"no find"<<endl;
return 0;
}
複製代碼
作者:
王法棣
時間:
2023-10-28 19:50
#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int main()
{
v.push_back(7);
v.push_back(3);
v.push_back(2);
v.push_back(4);
v.push_back(11);
v.push_back(5);
sort(v.begin(),v.end());
for(int i:v)
cout<<i<<" ";
cout<<endl;
auto it=lower_bound(v.begin(),v.end(),7);
cout<<*it<<endl;
it=upper_bound(v.begin(),v.end(),7);
cout<<*it<<endl;
cout<<*(--it)<<endl;
cout<<*(++it)<<endl;
cout<<it-v.begin()<<endl;
it=find(v.begin(),v.end(), 2);
it=find(v.begin(), v.end(), 12);
if(it==v.end())
cout<<"no"<<endl;
return 0;
}
複製代碼
作者:
許晏睿
時間:
2023-10-28 19:54
本帖最後由 許晏睿 於 2023-10-28 19:59 編輯
#include<bits/stdc++.h>
using namespace std;
vector<int> v={2,5,7,6,4};//24567
int main()
{
sort(v.begin(),v.end());
for(int i:v)
cout<<i<<" ";
cout<<endl<<"=================="<<endl;
auto it=lower_bound(v.begin(),v.end(),7);
cout<<*it<<endl;
cout<<"=================="<<endl;
it=upper_bound(v.begin(),v.end(),4);//4
cout<<*(--it)<<endl;
it=lower_bound(v.begin(),v.end(),5);//6
cout<<*(++it);
cout<<endl<<"=================="<<endl;
it=lower_bound(v.begin(),v.end(),6);//3
cout<<it-v.begin()<<endl;
it=find(v.begin(),v.end(),2);//0
cout<<it-v.begin()<<endl;
cout<<"=================="<<endl;
it=find(v.begin(),v.end(),1);
if(it==v.end())
cout<<"no find"<<endl;
return 0;
}
複製代碼
作者:
陳依彤
時間:
2023-10-28 19:56
#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int> v;
v.push_back(7);
v.push_back(2);
v.push_back(1);
v.push_back(3);
v.push_back(11);
v.push_back(5);
sort(v.begin(),v.end());
for(int i: v)
cout<<i<<" ";
cout<<endl;
cout<<"------------"<<endl;
auto it=lower_bound(v.begin(),v.end(),7); //大於等於目標對象的最小值的位址
cout<<*it<<endl; //該位址的值
it=upper_bound(v.begin(),v.end(),7); //大於目標對象的最小值的位址
cout<<*it<<endl;
cout<<"------------"<<endl;
it=upper_bound(v.begin(),v.end(),9);
cout<<*it<<endl;
cout<<*(--it)<<endl;
it=lower_bound(v.begin(), v.end(), 3);
cout<<*(++it)<<endl;
cout<<"------------"<<endl;
it=lower_bound(v.begin(),v.end(),3);
cout<<it-v.begin()<<endl;//取得索引值
it=find(v.begin(),v.end(),2);//非二分搜尋法, 效能較差, 適合未排序的資料。
cout<<it-v.begin()<<endl;
cout<<"------------"<<endl;
it=find(v.begin(), v.end(), 12);//找不到時會回傳end()指向的位址
if(it==v.end())
cout<<"no find"<<endl;
it=upper_bound(v.begin(), v.end(), 12);
if(it==v.end())
cout<<"no find"<<endl;
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2