ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【C++】程序题( STL标准模板库)

2026/8/8 3:33:16 拓冰建站 浏览量
【C++】程序题( STL标准模板库)

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯程序一:

🎯程序二:

🎯程序三:

🎯程序四:

🎯程序五:

🎯答案一:

🎯答案二:

🎯答案三:

🎯答案四:

🎯答案五:


🎯程序一:

定义包含5个元素的整型数组,从键盘输入数据对数组进行赋值;使用sort排序函数对数据按从大到小的顺序排序并输出排序后的数组。

#include <bits/stdc++.h> 万能头文件 

#include <algorithm>

sort(a,a+5,greater<int>());  //降序

sort(a,a+5,less<int>());   //升序

🎯程序二:

创建整型数据的vector可变长数组,向vector尾部插入数据98,34,56,78,23;使用迭代器输出vector,插入值58到第3个位置,删除最后一个元素后输出vector;使用sort函数对数组进行从小到大排序并输出;使用reverse方法将元素翻转并输出。

元素翻转函数:reverse(v.begin(),v.end());

注意:每行数据输出后有一个半角空格。

🎯程序三:

创建整型数据的List实现双向链表,向链表头部依次插入数据34,56,78;向链表尾部依次插入数据23,98,99;使用迭代器输出链表,输出链表的最大值,删除数值98;使用sort函数对数组进行从小到大排序并输出。

     List排序函数:list.sort();

     注意:第一、三行数据输出后有一个半角空格。

   

🎯程序四:

创建整型数据set集合,向set依次插入数据23,56,18,23,79,56;使用迭代器输出set集合的数据并观察结果;查找集合中是否存在值56和99;删除集合第一个元素并插入数值88后输出数据。

注意:集合数据输出后有一个半角空格。

🎯程序五:

使用map容器对数字10~15映射英文单词A~F,并在控制台输出。

🎯答案一:

#include <bits/stdc++.h>using namespace std;int main(){int a[5],i;for(i=0;i<5;i++)cin>>a[i];sort(a,a+5,greater<int>());for(i=0;i<5;i++)cout<<a[i]<<" ";cout<<endl;return 0;}

🎯答案二:

#include <bits/stdc++.h>using namespace std;int main() {vector<int> v;vector<int>::iterator pos;v.push_back(98);v.push_back(34);v.push_back(56);v.push_back(78);v.push_back(23);for(pos=v.begin(); pos!=v.end(); ++pos)cout<<*pos<<" ";cout<<endl;v.insert(v.begin()+2,58);v.erase(v.end()-1);for(pos=v.begin(); pos!=v.end(); ++pos)cout<<*pos<<" ";cout<<endl;sort(v.begin(),v.end());for(pos=v.begin(); pos!=v.end(); ++pos)cout<<*pos<<" ";cout<<endl;reverse(v.begin(),v.end());for(pos=v.begin(); pos!=v.end(); ++pos)cout<<*pos<<" ";cout<<endl;return 0;}

🎯答案三:

#include <bits/stdc++.h>using namespace std;int main() {list<int> lt;list<int>::iterator it;lt.push_front(34);lt.push_front(56);lt.push_front(78);lt.push_back(23);lt.push_back(98);lt.push_back(99);int max=*(lt.begin());for(it=lt.begin(); it!=lt.end(); it++) {if(max<*it)max=*it;cout<<*it<<" ";}cout<<endl;cout<<"max="<<max<<endl;lt.remove(98);lt.sort();for(it=lt.begin(); it!=lt.end(); it++)cout<<*it<<" ";cout<<endl;return 0;}

🎯答案四:

#include <bits/stdc++.h>using namespace std;int main() {set<int> s;set<int>::iterator pos;s.insert(23);s.insert(56);s.insert(18);s.insert(23);s.insert(79);s.insert(56);for(pos=s.begin();pos!=s.end();pos++)cout<<*pos<<" ";cout<<endl;cout<<"是否存在56:"<<s.count(56)<<endl;cout<<"是否存在99:"<<s.count(99)<<endl;s.erase(s.begin());s.insert(88);for(pos=s.begin();pos!=s.end();pos++)cout<<*pos<<" ";cout<<endl;return 0;}

🎯答案五:

#include <bits/stdc++.h>using namespace std;int main() {map<int,char> m;for(int i=10;i<=15;i++)m[i]=65+i-10;for(int i=10;i<=15;i++)cout<<i<<"->"<<m[i]<<endl;return 0;}