stable_partition 分类排序

原创 2007年10月08日 10:14:00

 例程

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <string>
using namespace std;

class student{
public:
 student(const string &a, int b):name(a), score(b){}
 string name;
 int score;
 bool operator < (const student &m)const {
  return score< m.score;
 }
};
bool pass(student x)
{
 if( x.score >= 60 )
  return true;
 else
  return false;
}

int main() {
 vector< student> vect;
 student st1("Tom", 74);
 vect.push_back(st1);
 st1.name="Jimy";
 st1.score=560;
 vect.push_back(st1);
 st1.name="Mary";
 st1.score=92;
 vect.push_back(st1);
 st1.name="Jessy";
 st1.score=85;
 vect.push_back(st1);
 st1.name="Jone";
 st1.score=560;
 vect.push_back(st1);
 st1.name="Bush";
 st1.score=522;
 vect.push_back(st1);
 st1.name="Winter";
 st1.score=77;
 vect.push_back(st1);
 st1.name="Andyer";
 st1.score=63;
 vect.push_back(st1);
 st1.name="Lily";
 st1.score=76;
 vect.push_back(st1);
 st1.name="Maryia";
 st1.score=89;
 vect.push_back(st1);

 student * re;
 cout<<"------before sort..."<<endl;
 for(int i = 0 ; i < vect.size(); i ++) cout<<vect[i].name<<":/t"<<vect[i].score<<endl;

 //pass 内返回为true的排序后在前面。
 //re 返回的是两部分的交界处值为false的元素,但有可能所有的值都返回true,所以在使用re之前要先进行判断
 re=stable_partition( vect.begin(), vect.end(), pass);
 if(re<vect.end()) //要注意判断  
  cout<<"/n/n/n"<<re->name<<"    "<<re->score <<"/n/n";
 cout <<"-----after sort ...."<<endl;
 for(i = 0 ; i < vect.size(); i ++) cout<<vect[i].name<<":/t"<<vect[i].score<<endl;
 return 0 ;
}

algorithm库介绍之---- partition()方法和 stable_partition()方法

本文章转载自:ffhajbq特别感谢原作者。 ============================================================================...
  • godenlove007
  • godenlove007
  • 2012年09月15日 15:37
  • 925

stable_partition

quote from : http://en.cppreference.com/w/cpp/algorithm/stable_partition std::stable_pa...
  • seamanj
  • seamanj
  • 2016年06月23日 17:24
  • 460

排序算法 种类 总结 介绍

一、插入排序(Insertion Sort) 1. 基本思想: 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。 2. 排序...
  • ysdaniel
  • ysdaniel
  • 2011年09月17日 18:04
  • 3970

关于mysql中一个分类排序的语句问题

工具:Navicat   在工作中遇到这个问题,目的很简单,在一张表中,有一个类型字段,要根据不同的类型取出前几条数据。问题看似简单,但写sql的过程却不那么容易了。开始谢了一条很长很复杂的sql语...
  • Eric_ley
  • Eric_ley
  • 2016年09月09日 18:03
  • 375

排序的基本概念和分类

排序的严格定义: 假设含有n个记录的序列为{r1,r2,.....,rnr_1,r_2,.....,r_n},其相应的关键字分别为{k1,k2,..,..knk_1,k_2,..,..k_n},...
  • w_jingjing0428
  • w_jingjing0428
  • 2016年10月06日 19:58
  • 405

三级分类数据的排序

三级分类数据的排序 --示例数据:CREATE TABLE tb(ProdCateID int,ProdCateName nvarchar(10),ParentCateID int)INSERT tb...
  • zjcxc
  • zjcxc
  • 2005年06月06日 19:00
  • 4546

论坛中不同类型的贴的排序问题(涉及数据库的:CASE... END)

在论坛中,会有不同类型的帖子,比如说:普通贴、精华帖、置顶帖; 论坛的这些贴子会根据不同的类型进行排序,当然不仅仅只是看帖子类型,还有贴子的动态情况来进行排序。 在这里演示一下简单的帖子排序,我们...
  • u014253480
  • u014253480
  • 2015年12月28日 16:27
  • 374

编程题#9:人群的排序和分类(C++程序设计第10周)

描述对人群按照输入的信息进行排序和分类。#include #include #include #include using namespace std; // 在此处补充你的代码 int ma...
  • NNNNNNNNNNNNY
  • NNNNNNNNNNNNY
  • 2016年02月16日 21:59
  • 1336

mysql库 :(分类求和 汇总排序)

select 显示的列名, sum(列名对应的值) as a from 表group by  显示的列名order by  a  desc --降序排列--mysql库 :(分类_求和 _汇总_排序)...
  • m1123099702
  • m1123099702
  • 2011年05月23日 18:36
  • 2694

TP5无限级分类排序代码

public function tree(){ $res = $this->select(); return $this->sort($res); } //$data 要排序的数组 ...
  • arthurleee
  • arthurleee
  • 2018年01月23日 20:33
  • 55
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:stable_partition 分类排序
举报原因:
原因补充:

(最多只允许输入30个字)