【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博客

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

目录

一. 单选题

二.程序题

1. (程序题)

2. (程序题)

 🎯答案:


一. 单选题

1. (单选题)下列选项中, 不属于vector容器操作方法的是( )

  • A. emplace_ back

  • B. pop_ back

  • C. insert

  • D. push_front

2. (单选题)关于迭代器,下列说法错误的是:

  • A. 删除容器中的元素,可能会使原有迭代器失效

  • B. 反向迭代器可以从容器尾部向容器首部进行迭代

  • C. vector容器的iterator迭代器是随机迭代器

  • D. 迭代器就是指针

3. (单选题)关于queue容器适配器,下 列描述正确的是( )

  • A. queue 具有先入后出的特点

  • B. queue 可以一次删除多个元素

  • C. queue不支持迭代器操作

  • D. queue不支持pop()方法

4. (单选题)下列选项中,属于可变序列算法的是:

  • A. for_each()

  • B. sort()

  • C. accumulate()

  • D. find()

5. (单选题)下列选项中,可以正向遍历容器元素,但通过只能访问容器元素,不能修改元素的值的迭代器是:

  • A. iterator

  • B. const_iterator

  • C. reverse_iterator

  • D. const_reverse_iterator

二.程序题

1. (程序题)

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

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

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

2. (程序题)

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

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

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

   

 🎯答案:

1-5:DDCBB

程序题1:

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

}



程序题2:

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

}



评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y小夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值