- 浏览: 774097 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
#include<algorithm> #include<functional> #include<iterator> #include<set> #include<vector> #include<iostream> using namespace std; template<typename T> void print(const T& t){ typename T::const_iterator iter; for(iter=t.begin();iter!=t.end();++iter){ cout << *iter << endl; } } int main(){ vector<char> v(5); fill(v.begin(),v.end(),'v'); set<char> cs(v.begin(),v.end()); typedef set<char>::iterator sci; for(sci it=cs.begin();it!=cs.end();++it){ int n = count(v.begin(),v.end(),*it);//统计有多少个*it(第一个元素) cout << *it << ":" << n << ","; } int lc = count_if(v.begin(),v.end(),bind2nd(greater<char>(),'a'));//统计小写字母个数 cout << "\nLowercase letters:" << lc << endl; sort(v.begin(),v.end()); print(v); } v:5, Lowercase letters:5 v v v v v
发表评论
-
柔性数组
2017-09-20 09:53 515#include <iostream> #i ... -
rawsocket发送icmp包
2017-09-06 09:54 671#include <stdio.h> #in ... -
查看glibc版本
2016-12-07 14:13 554strings /lib64/libc.so.6 |grep ... -
trim
2015-05-14 14:45 373/* trim from start */ ... -
log
2015-03-30 17:42 459log.h #ifndef __LOG_H__ #def ... -
输出类名
2014-02-20 21:51 592#include <iostream> us ... -
GC的改良
2013-10-17 22:05 587分代回收:对分配不久,诞生时间较短的“年龄”对象进行重点扫描, ... -
GC与引用记数
2013-10-16 21:57 704根(Root)就是判断对象是否可被引用的起始点。至于哪里才是根 ... -
pthread
2013-07-09 10:10 596#include <pthread.h> # ... -
const
2012-10-08 23:57 1161#include<iostream> usi ... -
声明与定义
2012-10-04 11:33 702extern int i;//声明但未定义 int j;//声 ... -
windows下iconv转码
2012-08-28 17:07 2866http://ah-fu.iteye.com/blog/281 ... -
在windows下使用pthread
2012-08-28 10:12 936http://hi.baidu.com/yylwuwei/bl ... -
消除编译器未使用的警告
2012-03-29 15:07 1123#define XXX_UNUSED(x) (void)x; ... -
消息队列
2012-03-27 16:56 1425msgget函数用于创建一个新的消息队列或访问一个已存在的消息 ... -
静态链接库
2012-03-16 16:54 722静态库是obj文件的一个集合,通常以.a为后缀,理论上执行速度 ... -
#if0
2012-03-07 13:45 1273#if 0 #endif 用于屏蔽注释中间的代码,避免注释嵌 ... -
枚举转char
2012-03-05 11:54 1031#define NAME(value) #value -
libevent相关
2012-02-03 11:04 1704void event_set(struct event *ev ... -
c++0x
2012-02-01 09:55 785http://blog.csdn.net/pongba/art ...
相关推荐
本篇将重点讨论C++标准类库中几个简单但实用的通用算法,这些算法在处理数据集合时能够大大提升开发效率和代码质量。 首先,我们要了解的是`vector`,这是C++中最常用的一种动态数组。`std::vector`可以容纳任意...
在C++编程中,泛型算法是用于处理各种不同数据结构(如数组、向量、列表等)的一组通用函数,这些函数不依赖于特定的数据类型。本篇内容主要涉及了两个重要的泛型算法——`count`和`accumulate`,以及如何在实际编程...
C++标准模板库(Standard Template Library,简称STL)是C++的一个强大工具包,它提供了一系列通用的数据结构和算法,极大地提高了程序开发效率。STL由六大核心组件构成: 1. **容器(Containers)**:存储数据的...
- **元素统计算法**:如`count`,用于计算区间内满足特定条件的元素数量,或者`count_if`,用于计算满足谓词条件的元素数量。 - **序列匹配算法**:如`equal`,用于检查两个序列是否相等,或者`search`,用于在一个...
`for_each`是一种通用的迭代器算法,它接受一个输入迭代器范围和一个函数对象,然后对区间内的每个元素调用该函数对象。这通常用于对容器中的所有元素执行某种操作,如打印、转换等。例如: ```cpp #include #...
比较排序算法的时间复杂度通常高于非比较排序,但它具有通用性和稳定性。 1. 直接插入排序(Straight Insertion Sort) 直接插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对未排序的数据,...
C++ STL(Standard Template Library,标准模板库)中的算法是一系列高效且通用的函数模板,它们可以方便地操作各种容器中的元素。非变异算法是这些算法中的一类,它们不会改变原有数据的顺序或值,而是对数据进行...
在C++中实现通用RANSAC算法,主要是为了处理那些包含异常值(outliers)的数据集,通过迭代找到一个最佳模型,该模型能够最好地解释大部分正常数据(inliers)。下面我们将详细探讨RANSAC算法的基本原理、步骤以及在...
STL中的通用算法是一系列独立于容器的函数,可以用于处理各种容器内的元素。常见的通用算法有: 1. `std::sort`:对容器内的元素进行排序。 2. `std::find`:查找容器中是否存在特定元素。 3. `std::count`:统计...
### 汽车加油问题(贪心算法)C++ #### 问题背景 在解决实际问题时,算法的设计显得尤为重要。本篇文章将详细探讨一个经典的计算机科学问题——“汽车加油问题”,该问题通过贪心算法来解决。问题的核心是确定如何...
- **定义**:STL是一种标准模板库,它为C++程序设计者提供了一系列通用的数据结构和算法。这些数据结构和算法以模板的形式存在,能够适应多种不同类型的数据。 - **特点**:STL是跨平台的,可以在不同的操作系统和...
而算法如sort、find、count、copy、transform等,提供了对容器中数据进行操作的多种方法。迭代器则是在容器与算法之间建立联系的桥梁,它们是泛化的指针,允许算法在不同类型的容器上进行操作。 通过本课程的学习,...
- **通用算法**:如`transform()`, `accumulate()`, `count()`, `min_element()`, `max_element()`等,提供了丰富的通用操作。 4. **函数对象(Functors)** - 函数对象是具有`operator()`的类,可以作为参数传递...
- **排序和通用算法**:如`inplace_merge`、`merge`、`nth_element`、`partial_sort`、`partial_sort_copy`、`partition`、`random_shuffle`、`reverse`、`reverse_copy`、`rotate`、`rotate_copy`、`sort`、`stable...
根据给定的文件信息,我们可以总结出以下关于“用C++实现的时间片轮算法”的相关知识点: ### 时间片轮算法简介 时间片轮算法(Round Robin Scheduling Algorithm),是一种简单的进程调度策略,它将所有等待执行...
### C++程序员招聘笔试知识点详解 #### 一、单向链表的反转 单向链表的反转是一个经典的面试题目,对于理解链表的基本操作非常重要。链表是一种常见的线性数据结构,每个元素由两部分组成:数据部分和指向下一个...
标题:“STL通用算法” 描述:“STL的一些通用算法,find、search等” 知识点详述: **一、非可变序列算法** 非可变序列算法指的是那些不会直接修改其所操作的容器内容的算法,主要涉及查找、计数、比较等功能。...
`<algorithm>`头文件是C++标准库中极为重要的一部分,它包含了许多通用算法的实现,如排序、查找等。 - **Description**:`<algorithm>`头文件提供了大量实用且高效的算法,它们可以应用于任意容器,极大地提高了...
模板是C++中一种强大的特性,它允许程序员编写通用的代码。模板可以应用于函数或类。 ```cpp template T max(T a, T b) { return (a > b) ? a : b; } // 使用示例 int maxInt = max(5, 3); // 返回5 double max...
3. 算法:STL提供了一系列通用的算法,这些算法可以作用于任何容器上的元素。例如: - `sort`:对容器中的元素进行排序。 - `find`:寻找特定元素的第一个出现位置。 - `count`:计算容器中特定元素的数量。 - `...