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 ;
}

最新文章

  1. Building good docker images
  2. 好看的css3按钮和文本框
  3. Windows Store Apps, Error: The certificate specified has expired.(转)
  4. Codeforces Beta Round #6 (Div. 2 Only) E. Exposition multiset
  5. 【转】Ext.ajax.request 中的success和failure
  6. UIImage载入图片的几种方式及差别
  7. 13个JavaScript图表(JS图表)图形绘制插件
  8. 碎碎念,浅饮-------Day30
  9. ios学习网络------4 UIWebView以三种方式中的本地数据
  10. 《你不知道的JavaScript》整理(五)——值与原生函数
  11. Python学习笔记整理总结【语言基础篇】
  12. Unity Technologies-提供全面的技术支持服务
  13. 2.DNN-神经网络推导
  14. webAR涉及的技术
  15. keil的自动补全功能
  16. 论文笔记系列-Neural Network Search :A Survey
  17. 【译】快速起步-JSX简介
  18. Swoole 异步mysql使用
  19. python模块:shutil
  20. Vue 入门之组件化开发

热门文章

  1. 【自用】OI计划安排表一轮
  2. [BLE]CC2640之ADC功能实现和供电电压的採集
  3. underscore.js 页面数据渲染
  4. iOS开发核心语言Objective C —— 面向对象思维、setter和getter方法及点语法
  5. linux 输入子系统(3) button platform driver
  6. C++类中static修饰的函数的使用
  7. mysql insert操作
  8. 【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法
  9. CodeChef - COUNTARI FTT+分块
  10. 浏览器上的Qt Quick