首页 > 代码库 > C++容器学习,与结构体排序和set来一场邂逅
C++容器学习,与结构体排序和set来一场邂逅
最近学习C++容器,积累一下。下面介绍set和multiset,并使用sort对结构体进行排序。C++之路漫漫其修远兮!
一、对结构体进行排序
// sort_struct.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <vector> #include <algorithm> using namespace std; typedef struct example { int elem1; char elem2; }example; bool comparison(example a,example b){ return a.elem1>b.elem1; } int main() { int N; cin>>N; vector<example> array(N); for(int i=0;i<N;i++) { cin>>array[i].elem1>>array[i].elem2; } sort(array.begin(),array.end(),comparison); for(int i=0;i<N;i++) { cout<<array[i].elem1<<" "<<array[i].elem2<<endl; } return 0; }
二、set运用
set,顾名思义,集合的概念,不允许重复的元素。multiset允许值重复,故可以来统计。其他用法两者一致。
// set.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" #include "string" #include "set" #include <algorithm> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { multiset<int> S; multiset<int>::iterator si; S.insert(4); S.insert(4); S.insert(3); for (si=S.begin(); si!=S.end(); si++) cout << *si << endl; cout<<S.count(1)<<endl; return 0; }
C++容器学习,与结构体排序和set来一场邂逅
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。