【转】C++学习二 vector的用法(使用sort对于vector排序)

一、vector的介绍

 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作。

二、vector的定义

#include<vector>
using namespace std;//int 说明的是vector存储的数据类型
vector<int> odd_vector;

三、vector的一些操作(具体调用方式自行查找)

1.push_back   在数组的最后添加一个数据
2.pop_back    去掉数组的最后一个数据 
3.at                得到编号位置的数据
4.begin           得到数组头的指针
5.end             得到数组的最后一个单元+1的指针
6.front        得到数组头的引用
7.back            得到数组的最后一个单元的引用
8.max_size     得到vector最大可以是多大
9.capacity       当前vector分配的大小
10.size           当前使用数据的大小
11.resize         改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve      改变当前vecotr所分配空间的大小
13.erase         删除指针指向的数据项
14.clear          清空当前的vector
15.rbegin        将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend          将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty        判断vector是否为空(vector.empty())
18.swap         与另一个vector交换数据
三、使用sort对于vector分类

用法:

#inlcude <algorithm> 
sort(vector.begin(),vector.end());

例子如下:

#include <algorithm> //使用sort需要包含这个头文件
//这个方法的主要的作用是把一个向量里面的奇数找出来放到原来的位置
class Kata
{
public:std::vector<int> sortArray(std::vector<int> array){if(array.empty())return array;std::vector<int> odd_vector;for(int i=0;i<array.size();i++){if(array[i]%2==1){odd_vector.push_back(array[i]);}}if(odd_vector.size()>0){//sort对于vector向量的排序,升序排列sort(odd_vector.begin(),odd_vector.end());int number=0;for(int i=0;i<array.size();i++){if(array[i]%2==1){array[i]=odd_vector[number];number++;}}}return array;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java syncr_JAVA基础—Synchronized线程同步机制

Synchronize的使用场景Synchronize可以使用在一下三种场景&#xff0c;对应不同的锁对象场景synchronized代码块synchronized方法synchronized静态方法锁对象任意对象this 对象该类的字节码对象 *.class没有同步代码实例public class SyncSample {public static void main(Stri…

Windows Embedded CE 6.0开发初体验(三)设置Boot-loader

在Digi CC 9P开发板中已经预置了Boot-loader和一个CE 6.0的系统&#xff0c;所以&#xff0c;我们直接启动开发板&#xff0c;就可以运行一个CE 6.0的操作系统。不过&#xff0c;我们的最终目的是要开发一个自己的CE 6.0平台&#xff0c;所以我们需要对Boot-loader中的一些系统…

【转】C++学习三 模板类出错总结(Missing template arguments before ‘L‘)

一、模板类的说明 模板类有一个好处是可以放宽你输入的数据类型。 比如有这样的一个函数&#xff1a; int add(int x, int y) {return xy; } 这个函数对于int类型的x,y才适合&#xff0c;但是如果我们希望计算float类型的呢&#xff1f; 这必须重新定义一个函数&#xff…

Flex 学习站点汇总,(FLEX学习站点、博客、论坛)

来自&#xff1a;http://www.zhuoqun.net/article.asp?id501不错的整理&#xff01;感谢原作者。今天把收藏夹共享出来&#xff0c;希望对学习Flex的人有所帮助。一、国外站点1.资源类Adobe Flex 2 Component Explorer&#xff1a; 官方的&#xff0c;展示了各种组件的用法&am…

java 延迟实例化_延迟初始化Spring Bean的几种方式

XML 配置:Java 注解:Lazy(true)Spring 中默认是非延迟加载Bean的,也就是提前把Bean初始化好,用的时候直接用. 优点是运行的时候比较快(提前初始化了,直接用). 缺点是启动慢和占用内存,因为要初始化很多Bean.延迟加载是需要的时候再去初始化Bean. 优点是解约内存,启动快(不需要提…

Windows Embedded CE 6.0开发初体验(四)跑个应用程序先

因为我们的开发板上已经预置了Windows CE 6.0的系统&#xff0c;所以我们可以先创建一个.NET CF的应用程序&#xff0c;来看一下如何将.NET CF程序部署到Digi开发板上。 第一步&#xff0c;首先在Visual Studio 2005中创建一个新的工程。这一步和开发普通的Windows Mobile应用…

【转】C++学习四 冒泡排序法的一些改进

冒泡排序法需要两次扫描&#xff0c;所以从时间复杂度来说&#xff0c;是O(n2). 如果用图形表示&#xff0c;是这样的&#xff1a; 但是我们可以加以改进。 首先是&#xff0c;如果在排序中间&#xff0c;整个向量已经达到了有序状态&#xff0c;可以直接跳出来。 这样它的复…

java中的jgroup_JGroups实现聊天小程序

本文实例为大家分享了JGroups实现聊天小程序的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下效果图&#xff1a;代码部分&#xff1a;package com.lei.jgoups;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;impor…

Windows Embedded CE 6.0开发初体验(五)构建CE平台

接下来的一节会有非常多的图&#xff0c;因为我们要在Visual Studio 2005里创建一个CE 6.0的平台&#xff08;Platform&#xff09;了。创建CE平台的方法和创建普通工程的方法类似。在完成了Platform Builder之后&#xff0c;我们打开Visual Studio 2005后&#xff0c;选择File…

est.java 2 错误 找不到符号_找不到Cython/Python符号PyString\u Typ

我试图调用Cython的C代码&#xff0c;并遵循official guide。在但是&#xff0c;当在python中导入已编译的模块时&#xff0c;我得到以下错误。在---------------------------------------------------------------------------ImportError Traceback (most recent call last)i…

一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果

概述 Silverlight 2 Beta 1版本发布了&#xff0c;无论从Runtime还是Tools都给我们带来了很多的惊喜&#xff0c;如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython&#xff0c;对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlig…

Windows Embedded CE 6.0开发初体验(六)平台定制

Windows CE是一个组件化的操作系统&#xff0c;我们可以根据不同的环境设置不同的组件来组合成有针对性的平台&#xff0c;而一个功能往往需要多个组件才能够实现。Catalog就是实现某个功能的组件集合&#xff0c;每个Catalog Item会包含一个或多个组件&#xff0c;而Catalog I…

java lambda 循环list_Java8--Lambda表达式对List集合操作(一)

一、利用stream().forEach()遍历集合List list new ArrayList();list.add("djk");list.add("djk1");list.add("djk12");list.add("djk123");//利用stream().forEach()遍历集合list.stream().forEach(item->{System.out.print(item…

【转】Win32 SDK 实现带图片的 Button 控件BM_SETIMAGE(Disable时图片不显示)

在编写对话框程序时&#xff0c;希望能在按钮控件里显示一个小插图,如图所示 最初使用的方法是使用 BM_SETIMAGE 消息&#xff0c;但却不能达到满意的效果&#xff0c;在网上查了一通资料&#xff0c;最后终于实现了&#xff0c;现在把实现的方法记下来。 首先来到MSDN上&…

解读设计模式----命令模式(Command Pattern)

***本文与作者原文有一定的偏差,其中加入了一部分是个人看法,详细请查看作者原文。***原文连接http://www.dofactory.com/Patterns/PatternCommand.aspx命令模式意图&#xff1a;  GOF 在《设计模式》一书中阐述其意图&#xff1a;“将一个请求封装为一个对象&#xff0c;从而…

Windows Embedded CE 6.0开发初体验(七)编译和调试平台

在完成Catalog选择之后&#xff0c;平台定制的工作告一段落&#xff0c;接下来&#xff0c;我们就要进入变数最多的环节——“编译和调试”平台了。编译的操作简单&#xff0c;但是想通过编译却有很多变数。 编译平台的第一步是选择Debug或者Release版本。选择 Build菜单中的C…

python合并单元格 索引_python笔记:纵向合并表格

工作中我们常常遇到多个格式相同的表格面要合并成一个表格&#xff0c;比如将2019年的数据与2020年的数据合并在一起来进行分析。平时EXCEL时我们通常直接复制粘贴&#xff0c;但有时因表格内容过大&#xff0c;直接粘贴效率低&#xff0c;且当字段过多时还需要进行逐列粘取我们…

哈希表(HashTable)探究(转)

HashTable 通常称为哈希表&#xff0c;它表示键&#xff08;key&#xff09;/值&#xff08;value&#xff09;对的集合。 1、HashTable 的构造函数&#xff1a; HashTable() //初始化为0个元素的空实例 HashTable(Int32) //初始化为int32 个元素的…

【转】Win32子窗口控件(按钮、编辑框、静态框、滚动条等)!!

前言&#xff1a; 子窗口控件是特殊的子窗口&#xff0c;不需要我们注册窗口类&#xff0c;系统已经注册好了&#xff0c;我们只需要在创建时选择相应的窗口类名。常用的子窗口控件有按钮BUTTON、组合框COMBOBOX、编辑框EDIT、列表框LISTBOX、静态框STATIC、滚动条SCROLLBAR等类…

在PC上用模拟器搭建Windows Mobile仿真环境:Microsoft Device Emulator使用

因为工作需要&#xff0c;体验了一下微软的移动设备模拟器Device Emulator 3.0。在此把一些使用体验写出来和大家交流一下&#xff0c;在自己摸索过程中从网上找了很多资料参考&#xff0c;希望大家再做这个的时候少走一些弯路%^) 在PC上用模拟器搭建Windows Mobile仿真环境&am…