// VectorSort.cpp : Defines the entry point for the console application.
// #include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm> //先自定义一个结构体
struct Test {
int member1;
int member2;
}; //自定义排序函数
bool SortByM1( const Test &v1, const Test &v2)//注意:本函数的参数的类型一定要与vector中元素的类型一致
{
return v1.member1 < v2.member1;//升序排列
} void MyPushback(std::vector<Test> & vecTest, const int &m1, const int &m2)
{
Test test;
test.member1 = m1;
test.member2 = m2;
vecTest.push_back(test);
} void PrintVector( std::vector<Test> & vec)
{
/*
插一句,
vec.begin()对应的位置是向量的第一个位置,
vec.end()对应的是vector中的最后的一个元素位置的后面的一个位置(我认为,实际上是一个无效位置)
文档上的定义:Returns an iterator referring to the past-the-end element in the vector container.
*/
for(std::vector<Test>::iterator it = vec.begin() ; it != vec.end() ; it++ )
{
std::cout<<it->member1<<'\t'<<it->member2<<std::endl;
}
} int _tmain(int argc, _TCHAR* argv[])
{
std::vector<Test> vecTest;
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
MyPushback(vecTest,,);
//排序之前
std::cout<<"Before Sort:"<<std::endl;
PrintVector(vecTest); std::cout<<"对向量中的所有元素按member1进行升序排列:"<<std::endl;
std::sort(vecTest.begin(),vecTest.end(),SortByM1);
PrintVector(vecTest); //std::cout<<"对向量中的第2个到第5个元素按member1进行升序排列:"<<std::endl;
//std::sort(vecTest.begin()+1,vecTest.begin()+5,SortByM1);//vecTest.begin()+5为第6个位置
//PrintVector(vecTest); return ;
}

vector排序的更多相关文章

  1. 1016. Phone Bills (25) -vector排序(sort函数)

    题目如下: A long-distance telephone company charges its customers by the following rules: Making a long- ...

  2. C++ vector 排序

    C++ vector 排序 C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结 ...

  3. 2.2 C语言_实现数据容器vector(排序功能)

    上一节我们说到我们己经实现了一般Vector可以做到的自动扩充,告诉随机存取,那么现在我们需要完成vector的一个排序的功能. 排序算法我们网上一百度哇~~!很常见的就有8大排序算法: 1.选择排序 ...

  4. NX二次开发-C++的vector排序去重用法

    #include <algorithm> //vector排序去重 sort( BoxNum.begin(), BoxNum.end()); BoxNum.erase(unique(Box ...

  5. STL之使用vector排序

    应用场景: 在内存中维持一个有序的vector: // VectorSort.cpp : Defines the entry point for the console application. #i ...

  6. C++中的结构体vector排序

    在包含了头文件#include <algorithm>之后,就可以直接利用sort函数对一个vector进行排序了: // sort algorithm example #include ...

  7. java.util.Vector排序

    Vector的排序: import java.util.*; class MyCompare implements Comparator //实现Comparator,定义自己的比较方法{public ...

  8. vector 排序

    #include <vector> #include <algorithm> 一.vector保存的是基础数据类型(int.char.float等) vector<int ...

  9. C++标准库 vector排序

    前天要做一个对C++ STL的vector容器做一个排序操作,之前一直把vector当做一个容量可自动变化的数组,是的,数组,所以打算按照对数组进行排序的方法:用快速排序或是冒泡排序等算法自己写一个排 ...

随机推荐

  1. Go语言之高级篇beego框架之layui框架应用

    1.layui前端框架 参考地址:https://www.layui.com

  2. Google Maps V3 之 路线服务

    概述 您可以使用 DirectionsService 对象计算路线(使用各种交通方式).此对象与 Google Maps API 路线服务进行通信,该服务会接收路线请求并返回计算的结果.您可以自行处理 ...

  3. 【SQL 代码】SQL 语句记录(不定时更新)

    1.数值四舍五入,小数点后保留2位 round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位. numeric 函数的2个参数,第一个表示数据 ...

  4. MySQL 服务常用操作命令

    1.MySQL 服务设置 在使用 mysql.server 命令之前需要将路径 /usr/local/mysql/support-files 添加到系统环境变量中. export PATH=$PATH ...

  5. Android Studio打包过程和应用安装过程

    三个部分,检查项目和读取基本配置,Gradle Build,Apk Install和LaunchActivity. 应用安装到手机,会复制APK安装包到data/app目录下,解压并扫描安装包,把de ...

  6. 开源中文分词工具探析(七):LTP

    LTP是哈工大开源的一套中文语言处理系统,涵盖了基本功能:分词.词性标注.命名实体识别.依存句法分析.语义角色标注.语义依存分析等. [开源中文分词工具探析]系列: 开源中文分词工具探析(一):ICT ...

  7. IIS7设置将域名不带www跳转到带www上

    很多朋友在IIS环境中搭建好网站后,习惯性将带www和不带www的域名都绑定到一个网站上,这样做虽然两个域名都能访问,但容易造成权重分散,从而导致网站权重降低.其实我们可以将访问不带www的域名自动跳 ...

  8. 谈一谈iOS事件的产生和传递

    谈一谈iOS事件的产生和传递 1.事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中. UIApplication会从事件队列中取出最前面的事件,并将事件 ...

  9. logstash之filter处理中括号包围的内容

    如题,logstash之filter处理中括号包围的内容: $grep -v "#" config/logstash-nlp.yml input { kafka { bootstr ...

  10. Xcode 常用代码段

    weak_shortcut /** <#注释#> */ @property(nonatomic,weak) <#class#> *<#name#>; copy_sh ...