English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set emplace_hint()han shu yong yu tong guo shi yong ti shi zai yuan su wei zhi jia ru xin yuan su wei rong zhi ran jing zuo chu yan. yuan su shi zhi jian jian gou zao de (ji bu fu zai bing bu yidong).
tong guo gei tiao shi gei hanshu de can shu args zhao dian yuan su de gou zao huan zhou.
jin zai mi jian bu cun zai de shi hao cha ru.
template<class.... can shu> iterator emplace_hint(const_iterator wei zhi, Args&&... can shu); //C++ 11 hou
can shu:chuan shi jie gao zao cha ru jie he zhong de yuan su de can shu.
wei zhi:ti shi cha ru xin yuan su de wei zhi.
ta jiang dao ru qia li fan hui dao xin cha ru de yuan su. ru guo yuan su yi jing cun zai, cha ru shi bai, bing jiang dao ru qia li fan hui dao cun zai de yuan su.
ru guo mei zhiding weizhi, rong zhi da xiao de duo shu wei duo shu.
ru guo gei chu weizhi, fa zhong du shi dian shu xing hua chong shu.
me you bian hua.
rong zhi yi gai
guan guan shi gong chuan guo chou chuan yi yuan su, zai rong zhe zhong qing xing luo dian bu shi an quan.
ru guo fan xian, zhi xing rong zhe zhong wu wei gai gai.
rang women kan yi ge jian dan de shi li jian ru jie he zhong:
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m = {60, 20, 30, 40}; m.emplace_hint(m.end(), 50); m.emplace_hint(m.begin(), 10); cout << "ji he bao huan zai xia xing yuansu" << endl; for (auto it = m.begin(); it != m.end(); ++it){ cout << *it << endl; } return 0; }
الخروج:
ji he bao huan zai xia xing yuansu 10 20 30 40 50 60
zai shangmian de shi li zhong, ta zhi shi jian yi ge ding wei de ding yi zhi jia ru jie he m zhong.
rang hainan kan yige jian dan shi li:
#include <set> #include <string> #include <iostream> using namespace std; template<typename M> void print(const M& m) { cout << m.size() << " elements: " << endl; for (const auto& p : m) { cout << p << " "; } cout << endl; } int main() { set<string> m1; //mengchu yixie ceshi shuju; m1.emplace("Ram"); m1.emplace("Rakesh"); m1.emplace("Sunil"); cout << "إعداد بداية البيانات: "; print(m1); cout << endl; //emplace_hint m1.emplace_hint(m1.end(), "Deep"); cout << "set modified, now contains "; print(m1); cout << endl; }
الخروج:
إعداد بداية البيانات: 3 عناصر: Rakesh Ram Sunil الإعداد قد تم تعديله الآن ويحتوي على 4 عناصر: Deep Rakesh Ram Sunil
دعونا یک مثال سادهای از اضافه کردن عناصر به مجموعهای در موقعیت مشخص را ببینیم:
#include <iostream> #include <set> using namespace std; int main () { set<char> myset; auto it = myset.end(); it = myset.emplace_hint(it,'b'); myset.emplace_hint(it,'a'); myset.emplace_hint(myset.end(),'c'); cout << "myset contains:"; for (auto& x: myset){ cout << " [" << x << ']'; cout << '\n'; } return 0; }
الخروج:
myset contains: [a] [b] [c]
دعونا یک مثال ساده از اضافه کردن عناصر را ببینیم:
#include <iostream> #include <set> #include <string> using namespace std; int main() { typedef set<string> city; string name; city fmly ; int n; cout<<"输入家庭成员人数 :\ cin>>n; cout<<"输入每个成员的姓名: \n"; for(int i =0; i<n; i++) { cin>> name; // Get key fmly.emplace_hint(fmly.begin(),name); } cout<<"\n家庭成员总数为:"<< fmly.size(); cout<<"\n家庭成员资料: \n"; cout<<"\nName \n ________________________\n"; city::iterator p; for(p = fmly.begin(); p!=fmly.end(); p++) { cout << (*p) << " \n "; } return 0; }
الخروج:
إدخال عدد أفراد العائلة: 4 إدخال اسم كل عضو في العائلة: Deep Sonu Ajeet Bob عدد أفراد العائلة:4 معلومات العائلة: الاسم ________________________ Ajeet Bob Deep Sonu
في المثال أعلاه، يتم إدراج العنصر فقط بناءً على اختيار المستخدم في بداية المجموعة.