【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,并在控制台输出。

🎯答案一:

cpp 复制代码
#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;

}

🎯答案二:

cpp 复制代码
#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;

}

🎯答案三:

cpp 复制代码
#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;

}

🎯答案四:

cpp 复制代码
#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;

}

🎯答案五:

cpp 复制代码
#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;

}
相关推荐
Charles Ray4 分钟前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码5 分钟前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
爱上语文6 分钟前
Springboot的三层架构
java·开发语言·spring boot·后端·spring
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
2401_858286113 小时前
52.【C语言】 字符函数和字符串函数(strcat函数)
c语言·开发语言
铁松溜达py3 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络
everyStudy3 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
C-SDN花园GGbond5 小时前
【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
c语言·开发语言·数据结构·排序算法
迷迭所归处6 小时前
C++ —— 关于vector
开发语言·c++·算法
架构文摘JGWZ6 小时前
Java 23 的12 个新特性!!
java·开发语言·学习