函数 sort,unique,stable_sort,count_if,谓词

bool isShorter(const string &s1,const string &s2)
{
    return s1.size() < s2.size();
}

bool GT6(const string &s)
{
    return s.size() >= 6;
}

int main()
{
    vector<string> words;
    string nect_word;
    while (cin >> next_word){
        words.push_back(next_word);
  }
    sort (words.begin(), words.end());
    vector<string>::iterator end_unique = unique(words.begin(), words.end());
    words.erase(end_unique, words.end());
    stable_sort(words.begin(),word.end(),isShorter);
    vector<string>::size_type wc = count_if (words.begin(), words.end(), GT6);
    cout << wc << " " << make_plural (wc, "word", "s") << " 6 characters or longer " << endl;
    return 0;
}
    

sort函数:将容器中元素按字典排列;

unique函数:删除相邻的重复元素,然后重新排列输入范围内的元素,并且返回一个迭代器,表示无重复的值范围的结束;

谓词:做某些检测的函数,返回用于条件判断的类型,指出条件是否成立;

stable_sort函数:保留相等元素的原始相对位置,本程序里,对于相同长度的元素,将保留其字典顺序;

count_if函数:返回使谓词函数返回条件成立的元素的个数。

时间: 2024-10-11 02:21:07

函数 sort,unique,stable_sort,count_if,谓词的相关文章

C++ 排序函数 sort(),qsort()的使用方法

想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描写叙述 sort 对给定区间全部元素进行排序 stable_sort 对给定区间全部元素进行稳定排序 partial_sort 对给定区间全部元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置相应的元素 is_sorted 推断一个区间是否已经排好序 p

排序函数sort用法简介

排序算法有很多,冒泡排序,选择排序,堆排序,快速排序,归并排序,基数排序-- 其中平均复杂度O(nlogn)的排序算法或者在某方面有特殊优势的算法在ACM中才有实际使用价值,所以上述提到的前2种大家以后就不要用了.其他排序算法大家会慢慢接触,本文主要介绍使用最多的排序函数 sort.大家可能会遇到qsort,qsort比较复杂,逐渐淡出ACMer的视线,所以不用管它. sort函数是C++标准库函数,需要包含头文件 #include <algorithm> 并声明命名空间 using name

STL_算法_对全部元素排序(sort、stable_sort)

C++ Primer 学习中. . . ? 简单记录下我的学习过程?(代码为主) //大部分容器适用.不适用于list容器 sort(b,e) sort(b,e,p) stable_sort(b,e) stable_sort(b,e,p) /**------http://blog.csdn.net/u010579068------**/ #include<iostream> #include<cstdio> #include<string> #include<ve

sort和stable_sort

sort //版本一 template <class RandomAccessIterator> void sort(RandomAccessIterator first,RandomAccessIterator last); //版本二 template <class RandomAccessIterator,class StrictWeakOrdering) void sort(RandomAccessIterator first,RandomAccessIterator last,

算法学习 - STL的p排序函数(sort)使用

排序函数sort() 这个函数是STL自带的,功能很强大~ 这里教下使用方法. sort()有三个参数,第一个是排序的起始位置,第二个是排序的结束位置,第三个是排序的判断函数.函数原型为: sort(<#_RandomAccessIterator __first#>, <#_RandomAccessIterator __last#>, <#_Compare __comp#>) 这个就是原型了~ 使用方法 首先假设我们有一个vector<int> vec;向量

Js 数组排序函数sort()

最近看到一个js函数sort()觉得挺有意思,写在这里与大家分享.如果有什么地方不对或者有更好的写法,也请大家不吝赐教. sort()返回一个元素已经进行了排序的 Array 对象. 1. 按字母排序 直接使用sort()函数,默认按字母顺序排. var arr = new Array("dd", "aa", "bb", "cc"); arr.sort(); 此时返回结果排序为  "aa", "b

PHP排序函数sort底层实现分析

线性表(即线性数据结构,如数组和链表)的常规排序算法,包括冒泡.插入.选择.归并和快排,其中综合性能最好的就是快排(快速排序),所以快排在工程实践中也有大量的应用,比如很多编程语言都提供了排序函数,而这些排序函数基本都是基于快速排序实现的,比如 PHP 的数组排序函数 sort 就是如此. 今天我们将以此函数的底层实现为例,为大家展示如何基于快速排序来实现 PHP 的 sort 函数(准确的说,是综合运用了插入排序和快速排序). PHP 数组排序函数 sort 底层实现分析 首先我们来给大家介绍

C++ 排序函数 sort(),qsort()的含义与用法 ,字符串string 的逆序排序等

上学时我们很多学了很多种排序算法,不过在c++stl中也封装了sort等函数,头文件是#include <algorithm> 函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置对应的元素 is_sorted 判断一个区间是否已经排好序 partition 使得符合某个条件的元

C++ 排序函数 sort(),qsort()的用法

转自:http://blog.csdn.net/zzzmmmkkk/article/details/4266888/ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描述 sort 对给定区间所有元素进行排序 stable_sort 对给定区间所有元素进行稳定排序 partial_sort 对给定区间所有元素部分排序 partial_sort_copy 对给定区间复制并排序 nth_element 找出给定区间的某个位置对应的元素 is_sorted 判断一个区间是否已经排好序 pa