【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;

}
相关推荐
陈一Tender几秒前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
Camel卡蒙1 分钟前
红黑树详细介绍(五大规则、保持平衡操作、Java实现)
java·开发语言·算法
jerryinwuhan5 分钟前
机器人模拟器(python)
开发语言·python·机器人
孤廖27 分钟前
吃透 C++ 栈和队列:stack/queue/priority_queue 用法 + 模拟 + STL 标准实现对比
java·开发语言·数据结构·c++·人工智能·深度学习·算法
驰羽36 分钟前
[GO]GORM中的Tag映射规则
开发语言·golang
非凡的世界1 小时前
深入理解 PHP 框架里的设计模式
开发语言·设计模式·php
小龙报1 小时前
《算法通关指南---C++编程篇(3)》
开发语言·c++·算法·visualstudio·学习方法·visual studio
凤山老林1 小时前
排序算法:详解插入排序
java·开发语言·后端·算法·排序算法
Mr_WangAndy1 小时前
C++设计模式_行为型模式_状态模式State
c++·设计模式·状态模式
郝学胜-神的一滴2 小时前
Effective STL 第5条:区间成员函数优先于单元素成员函数
开发语言·c++·程序人生·stl·软件工程