这里我们使用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之修改集合里边元素的顺序相关推荐

  1. ruby 集合 分组_在Ruby中打印集合的元素

    ruby 集合 分组 We have gone through the implementation of sets in Ruby. They are very similar to arrays. ...

  2. STL 容器和迭代器连载8_访问顺序容器的元素

    2019独角兽企业重金招聘Python工程师标准>>> /*- ========================================================== ...

  3. B09_NumPy迭代数组(控制遍历顺序,修改数组中元素的值,使用外部循环,广播迭代)

    NumPy迭代数组 NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式. 迭代器最基本的任务的可以完成对数组元素的访问. 接下来我们使用arange()函数 ...

  4. [转载] 【Python】set() 集合操作与运算 元素输出顺序

    参考链接: Python中set的copy 集合 | SET 集合(set)是Python中一种重要的数据类型,表示一组各不相同元素的无序集合,其主要应用于重复元素消除及关系测试等  集合在Pytho ...

  5. STL 容器简介:C++ 容器:顺序性容器、关联式容器和容器适配器

    STL标准容器类简介 标准容器类 说明 顺序性容器 vector 从后面快速的插入与删除,直接访问任何元素 deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速 ...

  6. c语言集合除去相同元素,使用C语言去掉字符串集合重复元素

    有一种最直接的方法可以去掉一个集合中重复的元素,这种方法据说就是"交给下面去做",然而有时候,你自己动手去做一下也是不错的.如果交给下面去做,最直接的选择就是使用map,在java ...

  7. python不变的数据结构是_Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法...

    本文实例讲述了Python从序列中移除重复项且保持元素间顺序不变的方法.分享给大家供大家参考,具体如下: 问题:从序列中移除重复的元素,但仍然保持剩下的元素顺序不变 解决方案: 1.如果序列中的值时可 ...

  8. python序列中各元素之间存在顺序关系_《Python Cookbook(第3版)中文版》——1.10 从序列中移除重复项且保持元素间顺序不变-阿里云开发者社区...

    本节书摘来自异步社区<Python Cookbook(第3版)中文版>一书中的第1章,第1.10节,作者[美]David Beazley , Brian K.Jones,陈舸 译,更多章节 ...

  9. python中集合的元素可以是任意数据类型_详解Python集合数据类型

    本篇介绍Python集合数据类型.集合不同于列表和元组类型,集合存储的元素是无序且不能重复的,同数学中的集合一样,集合可以执行集合的并.交.差运算.通过本篇的学习,可以达成如下目标. ● 掌握集合数据 ...

最新文章

  1. vue路由切换组件没有加载_vue-router 路由跳转后没有加载组件
  2. 【视频】vue组件的全局注册
  3. 解决webpack打包后-webkit-box-orient: vertical ;消失问题
  4. ubuntu 启动 重启 停止 apache
  5. 教你如何在 elasticsearch 中重建索引
  6. centos5.8上安装git server
  7. leetcode 1143. 最长公共子序列(dp)
  8. 【STL深入学习】SGI STL空间配置器详解(一)-第一级空间配置器
  9. 学习python有哪些优势
  10. 社交软件上“你可能认识的人”到底是怎么找到你的?
  11. C#代码生成目录树(转)
  12. C++ 设计模式之Static Factory模式(简单工厂模式)
  13. python运行空白_解决pyecharts运行后产生的html文件用浏览器打开空白
  14. Project2019入门到精通
  15. python实现电脑自动拨号换ip(pppoe)
  16. 习题5.4 找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号。
  17. MySQL练习sql脚本(某校学生管理系统版本)
  18. css border:solid实线,dashed虚线;dotted点状,,double双线
  19. 基于javaweb个人网站论坛的设计与实现(源码、论文、毕业设计、数据库文件)
  20. docker安装包在linux上部署安装

热门文章

  1. grid.getSelectionModel的所有操作
  2. Redis Cluster 集群扩容与收缩
  3. c# dev treelist 总结
  4. react源码解析002 - 关于babelrc
  5. 最短路径Shortest Path algorithm
  6. OpenGL.ProjectiveTextureMapping
  7. 创建使用模块与datetime模块使用
  8. LeetCode85 Maximal Rectangle
  9. 创建自己的Convers. Routine.
  10. 冬季宝宝不着凉有绝招