linux下練習 c++ 容器set、multimset的特性
print.h
//print.h #include <iostream> using namespace std; #ifndef print_fun #define print_fun template<typename T> ///顯示序列資料 void print(T b,T e,char c=' ') { bool isExit=false; while (b!=e) { cout<<*b++<<c; isExit=true; } if(isExit) cout<<endl; } template<typename K,typename V> ostream& operator<<(ostream& o,const pair<K,V>& p)//過載輸出map型別元素 { return o<<p.first<<':'<<p.second; } #endif
set.cpp
/* set特性 元素就是key=value 不允許重複 */ #include<set> #include<iostream> using namespace std; #include<string> #include<fstream> #include"print.h" int main() { set<string> ss;//定義容器 string s;// ifstream fin("maillist.txt"); if(!fin) { return 1; } while(fin>>s) ss.insert(s); print(ss.begin(),ss.end()); }
結果:
multiset.cpp
/* set特性 元素就是key=value 允許重複key */ #include<set> #include<iostream> using namespace std; #include<string> #include<fstream> #include<map> #include"print.h" int main() { multiset<string> ms; string s; ifstream fin("maillist.txt"); if(!fin) { return 1; } while(fin>>s) ms.insert(s); print(ms.begin(),ms.end()); multiset<string>::iterator ib=ms.begin(),ie; multimap<int,string> mis; while(ib!=ms.end()) { mis.insert(make_pair(ms.count(*ib),*ib));//排好序的一段 ib=ms.upper_bound(*ib); } print(mis.begin(),mis.end()); return 0; }
maillist.txt
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
結果:
相關推薦
linux下練習 c++ 容器set、multimset的特性
print.h //print.h #include <iostream> using namespace std; #ifndef print_fun #define print
Linux下的C/C++開發基礎(編寫makefile、編譯C/C++、連結、可執行程式)
本文重點介紹C/C++原始碼工程的編譯連結,編譯器gcc/g++的安裝配置略過... 1. 安裝配置gcc g++ 2. 建立檔案 test.h /test.c / file.h / file.cpp 3. 編譯.o庫: gcc -c / g++ -c 連結生成靜
關於如何在make一個Linux下的C/C++工程時,自動新增版本號、編譯日期等資訊
本篇的目的:在makefile裡,將系統當前的時間傳遞進待編譯的C/C++工程中,用以指示編譯執行的時間,以及版本資訊等。 不多說了,先來看效果: 當前時間:2017.01.20 0:29 編譯完成後執行效果: [email protected]:~/Desk
C++的STL容器之關聯性容器set、multiset、map、multimap
STL對定義的通用容器分三類:順序性容器、關聯式容器和容器介面卡。順序性容器:vector、list、deque關聯性容器:set、multiset、map、multimap容器介面卡:stack、qu
Linux下進行硬盤掛載、分區、刪除分區,格式化,掛載,卸載方法
硬盤 訪問 9.png dir 輸入 str 創建 指定 命令 本文簡單介紹了下文件系統及其操作(df命令),磁盤分區、格式化,還有最主要是掛載操作。 在這裏對“掛載”做個說明,我們都知道文件系統是創建在磁盤上面的,每個文件系統都有獨立的inode、block等信息,而這
Linux下用C獲取當前時間
time() 使用 ble timespec -1 ber 區間 本地 指向 Linux下用C獲取當前時間,具體如下: 代碼(可以把clock_gettime換成time(NULL)) ? 1 2 3 4 5 6 7 8 9 10 void getN
linux下磁盤分區、格式化、掛載
格式 設置 4.6 linux /dev/ 劃分 5% 內存 logs 各種設備在linux下的文件名 實驗: 1) 開啟Linux系統前添加一塊大小為15G的SCSI硬盤2) 開啟系統,右擊桌面,打開終端3) 為新加的硬盤分區,一個主分區大小為5G,剩余空間給擴展分
Linux下的C語言開發
xuni autoconf htm 參加 eve http 學習資料 inux c語言開發 工具 學會使用vim/emacs,vim/emacs是linux下最常用的源碼編輯具,不光要學會用它們編輯源碼,還要學會用它們進行查找、定位、替換等。 學會makefile文件的編
Linux下安裝Python3.5.2、Django、paramiko
roo help 更新 pip3 sim egg pan man inf 1,安裝依賴文件: yum install zlib zlib-devel openssl openssl-devel 2,下載Python3.5.2: 安全連接時,要增加:--no-chec
linux下利用C或C++ 語言調用需要root權限的函數
編譯程序 註意 步驟 oot 登錄 調用 get bsp 屬於 1、setuid法(1)登錄root用戶,將程序設置成root:root所有者(等價於:登錄root用戶編譯程序)。也可直接將普通用戶加入root組中,那麽編譯程序不用來回切換用戶。(2)登錄root用戶設置程
linux下VSFTPD的主動模式、被動模式和虛擬用戶登錄配置。
local ces -o 註意 linu lin guest 默認 connect 主動模式: 以CENTOS為例。 1、在 root 權限下,通過命令 yum install vsftpd 安裝 vsftp。 2、啟動 vsftpd 服務之前,需要登錄雲服務器修改配置文件
linux下編譯c語言教程
準備工作 - Linux系統 - 懂得Linux系統下編輯器vim/vi軟體的使用 - 懂得簡易的c語言程式設計(初次學習的同學可以直接複製文章末尾的原始碼) 總結一下:有Linux系統,會使用Linux系統下的文字編輯器,有一點c語言基礎即可。 建立c語言檔案並編譯
linux下檔案的建立時間、訪問時間、修改時間和改變時間
Linux系統中沒有命令可以確切的檢視一個檔案的生成時間,但是可以知道訪問時間,修改時間,改變時間。 可以通過stat命令檢視一個檔案的訪問時間,修改時間,改變時間: 以下為三個時間的區別: 1、訪問時間(accesstime):讀取一次檔案的內容,該時間
linux 下執行C程式
#include<stdio.h> int main(){ int a=100,b=25; if(a>b) printf(" The high value is %d\n",a); else printf(" Th
linux下新建(mkdir)、刪除(rmdir)資料夾
mkdir: 該命令:mkdir ./folder2/folder3 ./
Linux下的C語言函式perror
perror的函式原型為`void perror(const char *s)` 這個函式會先輸出你傳給他的實參 s 所指的字串,後面再加上錯誤原因字串。此錯誤原因依照全域性變數errno 的值來決定要輸出的字串。 在庫函式中有個errno變數,每個errno值對應著以字串表示的錯誤型別。當
單目跟蹤位姿產品研發(二)----在linux下將c++工程打包成動態庫so檔案API
單目跟蹤位姿專案由對方公司提供應用場景,我方研發核心演算法,通過c++實現功能,然後對方公司通過java\js來開發炫酷的介面,共同合作完成,最終對方公司負責銷售推廣,推向市場。因此,涉及到java介面呼叫c++核心程式碼的問題。 現記錄
LINUX下編譯c++11的程式碼
C++11,(即ISO/IEC 14882:2011),是目前的C++程式語言的最新正式標準。它取代了第二版標準(第一版公開於1998年,第二版於2003年更新,分別通稱C++98以及C++03,兩者差異很小)。新的標準包含核心語言的新機能,而且擴充套件C++標準程式庫。C++11新標準
Linux下使用java獲取cpu、記憶體使用率
原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系統中可以用top命令檢視程序使用CPU和記憶體情況,通過Runtime類的exec()方法執行命令"top”,獲取"top"的輸出,從而得到CPU和記憶體的使用情況。
linux下的c語言系統函式呼叫
目錄 4.linux下的系統函式的使用 c語言 4.1數學函式的使用 1pow函式 2.exp函式 3.log函式 4.rand()隨機數函式 4.2字元函式的使用 4.3系統時間與日期函式的使用 系統時間 時間間隔 4.4環境控制函式 &nb