STL之修改集合里边元素的顺序
这里我们使用rotate函数。具体函数作用可见代码输出。
//#include "learn.h"
#include<stdio.h>
#include<iostream>
#include<vector>
#include<map>
#include<list>
#include<string>
#include<iterator>
#include<stdlib.h>
#include<algorithm>
using namespace std;
template<typename datatype>
void ChangeOrder(vector<datatype> &V, int pos)//模板方法
{for (int i = 0; i < V.size(); i++)cout << V[i] << " ";cout << endl;if (!(pos >= 0))return;if (pos >= V.size())return;rotate(V.begin(), V.begin() + pos, V.end());for (int i = 0; i < V.size(); i++)cout << V[i] << " ";cout << endl;rotate(V.begin(), V.begin() + 1, V.begin() + (V.size() - pos));for (int i = 0; i < V.size(); i++)cout << V[i] << " ";cout << endl;
}
void changeorder(vector<int> &V,int pos)
{for (int i = 0; i < V.size(); i++)cout << V[i] <<" ";cout << endl;if (!(pos >= 0))return;if (pos >= V.size())return;rotate(V.begin(),V.begin()+pos,V.end());for (int i = 0; i < V.size(); i++)cout << V[i]<<" ";cout << endl;rotate(V.begin(), V.begin() + 1, V.begin() + (V.size() - pos));for (int i = 0; i < V.size(); i++)cout << V[i] <<" ";cout << endl;
}int main()
{int array[10] = { 0,1,2,3,4,5,6,7,8,9 };vector<int> V(array, array + 10);//changeorder(V, 5);ChangeOrder(V, 5);
}
运行结果为
假设原集合顺序为 A~B~C(~为AB和BC之间的元素) 其中rotate(A,B,C)函数执行成功之后,集合元素顺序为B~CA~,即相当于把B即后边的元素换到A前边来。
STL之修改集合里边元素的顺序相关推荐
- ruby 集合 分组_在Ruby中打印集合的元素
ruby 集合 分组 We have gone through the implementation of sets in Ruby. They are very similar to arrays. ...
- STL 容器和迭代器连载8_访问顺序容器的元素
2019独角兽企业重金招聘Python工程师标准>>> /*- ========================================================== ...
- B09_NumPy迭代数组(控制遍历顺序,修改数组中元素的值,使用外部循环,广播迭代)
NumPy迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用arange()函数 ...
- [转载] 【Python】set() 集合操作与运算 元素输出顺序
参考链接: Python中set的copy 集合 | SET 集合(set)是Python中一种重要的数据类型,表示一组各不相同元素的无序集合,其主要应用于重复元素消除及关系测试等 集合在Pytho ...
- STL 容器简介:C++ 容器:顺序性容器、关联式容器和容器适配器
STL标准容器类简介 标准容器类 说明 顺序性容器 vector 从后面快速的插入与删除,直接访问任何元素 deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速 ...
- c语言集合除去相同元素,使用C语言去掉字符串集合重复元素
有一种最直接的方法可以去掉一个集合中重复的元素,这种方法据说就是"交给下面去做",然而有时候,你自己动手去做一下也是不错的.如果交给下面去做,最直接的选择就是使用map,在java ...
- python不变的数据结构是_Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法...
本文实例讲述了Python从序列中移除重复项且保持元素间顺序不变的方法.分享给大家供大家参考,具体如下: 问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1.如果序列中的值时可 ...
- python序列中各元素之间存在顺序关系_《Python Cookbook(第3版)中文版》——1.10 从序列中移除重复项且保持元素间顺序不变-阿里云开发者社区...
本节书摘来自异步社区<Python Cookbook(第3版)中文版>一书中的第1章,第1.10节,作者[美]David Beazley , Brian K.Jones,陈舸 译,更多章节 ...
- python中集合的元素可以是任意数据类型_详解Python集合数据类型
本篇介绍Python集合数据类型.集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并.交.差运算.通过本篇的学习,可以达成如下目标. ● 掌握集合数据 ...
最新文章
- vue路由切换组件没有加载_vue-router 路由跳转后没有加载组件
- 【视频】vue组件的全局注册
- 解决webpack打包后-webkit-box-orient: vertical ;消失问题
- ubuntu 启动 重启 停止 apache
- 教你如何在 elasticsearch 中重建索引
- centos5.8上安装git server
- leetcode 1143. 最长公共子序列(dp)
- 【STL深入学习】SGI STL空间配置器详解(一)-第一级空间配置器
- 学习python有哪些优势
- 社交软件上“你可能认识的人”到底是怎么找到你的?
- C#代码生成目录树(转)
- C++ 设计模式之Static Factory模式(简单工厂模式)
- python运行空白_解决pyecharts运行后产生的html文件用浏览器打开空白
- Project2019入门到精通
- python实现电脑自动拨号换ip(pppoe)
- 习题5.4 找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号。
- MySQL练习sql脚本(某校学生管理系统版本)
- css border:solid实线,dashed虚线;dotted点状,,double双线
- 基于javaweb个人网站论坛的设计与实现(源码、论文、毕业设计、数据库文件)
- docker安装包在linux上部署安装