c++  sort :http://www.16kan.com/post/997260.html

http://wenku.baidu.com/view/e064166daf1ffc4ffe47ac67.html

假设自己定义了一个结构体

node  struct node

{

int a;

int b;

double c;

}

有一个 node 类型的数组 node arr[100] 想对它进行排序先按 a 值升序排列如果 a 值相同再按 b 值降序排列如果 b 还相同就按 c 降序排列。就可以写这样一个比较函数 以下是代码片段

bool cmp(node x,node y)

{

if(x.a!=y.a) return x.a

if(x.b!=y.b) return x.b>y.b;

return return x.c>y.c;

}

排序时写 sort(arr,a+100,cmp);

sort(a,a+10,greater<int>());      //从大到小排序

示例:

 struct node
{
char s[];
int num;
}p[N];
bool cmp(node x,node y)
{
if(x.num==y.num)
{
if(strlen(x.s)==strlen(y.s))
return strcmp(x.s,y.s)<;
return strlen(x.s)>strlen(y.s);
}
return x.num>y.num;
}
 sort(p+1,p+num+1,cmp);

c++头文件:

http://developer.51cto.com/art/201002/183607.htm

vector简单介绍:

 int main()
{
vector<int>v;
int i, t, n;
while(cin>>n)
{
for(i = ; i < n; i++)
{
cin>>t;
v.push_back(t); //vector加入元素
}
sort(v.begin(), v.end()); //vector的sort for(i = ; i < n; i++)
cout<<v[i]<<" "; //vector从0开始
cout<<endl;
}
return ;
}

c++ 头文件 及 sort的更多相关文章

  1. c++ 头文件 及 sort 和 vector简单介绍

    c++  sort :http://www.16kan.com/post/997260.html http://wenku.baidu.com/view/e064166daf1ffc4ffe47ac6 ...

  2. sort()函数与qsort()函数及其头文件

    sort()函数与qsort()函数及其头文件 sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为: ...

  3. C++头文件,预处理详解

    C++遵循先定义,后使用的原则.就拿函数的使用来举例吧. 我看过有些人喜欢这样写函数. #include<iostream> using namespace std; int add(in ...

  4. C++ 头文件系列 (algorithm)

    简介 algorithm头文件是C++的标准算法库,它主要应用在容器上. 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性. 因此,任何 ...

  5. c++ 常用头文件

    1.#include<iostream> iostream 的意思是输入输出流.#include<iostream>是标准的C++头文件,任何符合标准的C++开发环境都有这个头 ...

  6. [C++]头文件<algorithm>

    本博文仅示例一些常用的函数: sort.for_each. 1. sort /* STL - <algorithm> - sort template< class RandomIt, ...

  7. 头文件与cpp文件为什么要分开写

    最表面的机制是: 头文件是程序的界面(是代码界面),提供给程序员以  类.模版.函数等一系列的声明,让程序员知道应该怎么调用里面的"东西". 从动态链接库的角度看: 头文件提供界面 ...

  8. c++关于multiset的头文件包含问题

    最近在Bilibili上看到不少侯捷老师C++的视频教程,侯捷老师翻译了很多C++的经典书籍,比如<Essential C++中文版>.<STL源码剖析>,也写了<深入浅 ...

  9. STL algorithm 头文件下的常用函数

    algorithm 头文件下的常用函数 1. max(), min()和abs() //max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须时两个(可以是浮点数) //返回3 ...

随机推荐

  1. PHP缓冲区强制及时输出

    string '{"multicast_id":4917012850725514945,"success":0,"failure":38,& ...

  2. 手工添加Linux防火墙端口

    在linux实际操作中经常需要对防火墙进行修改,比如经常要修改或添加相关端口,下面以添加运行Tomcat所需8080端口为例: (以下命令操作均为root用户) 1.编辑iptables文件 # vi ...

  3. Spark小课堂Week4 从控制台看Spark逻辑结构

    Spark小课堂Week4 从控制台看Spark逻辑结构 层级关系: 从监控控制台,我们可以看到如下关系: 一个 Job 包含 n Stage 一个 Stage 包含 n Task Job0解决什么问 ...

  4. Django1.6添加comments应用的简单过程

    今天尝试为自己开发的博客加上评论功能,查看Django的文档,发现1.6之后Django不再自带comments这个app了,下面是官方文档上的说明: Django’s comment framewo ...

  5. 【转】 Linux Core Dump 介绍

    ===============================================================  Linux core dump的祥细介绍和使用 =========== ...

  6. Linux VM 设置静态ip地址上网

    因为是路由器共享上网,VM每次都是通过DHCP方式自动获取ip地址,连接Linux VM时ip地址经常变,很麻烦.现在把VM设置静态ip的方法总结一下,以免以后忘了. 1. VM上网方式设置为桥接. ...

  7. 深入浅出话XAML-学习笔记

    第一章 XAML是什么? 1.1XAML之前 *设计师的设计更不上程序逻辑的变化 *程序员未能完全实现设计师提供的效果图 *效果图与程序功能不能完全匹配 *从效果图到软件UI的转化耗费很多时间 1.2 ...

  8. angular service/directive

    <html class=" js cssanimations csstransitions" ng-app="phonecatApp" > < ...

  9. c++ string char* const char*

    #include <iostream> #include <string> #include <cstring> using namespace std; int ...

  10. asp.net中@ Import 命令的使用

    @ Import  将命名空间显式导入到 ASP.NET 应用程序文件(如网页.用户控件.母版页或 Global.asax 文件)中,同时使导入的命名空间的所有类和接口可用于文件.导入的命名空间可以是 ...