c++中比較好用的“黑科技”
一、黑科技函數(shù)(常用的我就不寫了,例如sort函數(shù))
1.next_permutation(a+1,a+1+n) a[1-n]全排列
2.reverse(a+1,a+1+n) 將a[1-n]的數(shù)翻轉(zhuǎn)過來
3.*max_element(a+1,a+1+n) 找出a[1-n]數(shù)字最大值(*是因?yàn)檫@個(gè)函數(shù)是一個(gè)指針)
4.*min_element(a+1,a+1+n) 找出a[1-n]數(shù)字的最小值(*是因?yàn)檫@個(gè)函數(shù)是一個(gè)指針)
5.accumulate(a+1,a+n,0) 找出a[1-n]數(shù)字的和(0是初值)(c++11才支持)
6.num=unique(a+1,a+1+n)-a-1; 返回去重后數(shù)字個(gè)數(shù),并將a數(shù)組去重
7.rotate(a+1,a+1+x,a+1+n) 把a(bǔ)數(shù)組前x數(shù)放在第n個(gè)數(shù)后面
8.lower_bound(a+1,a+1+n,x)-a 在a數(shù)組中下標(biāo)[1-n]中找查找x的位置,返回第一個(gè)大于等于x的數(shù)字的指針-a即為下標(biāo)
9.upper_bound(a+1,a+1+n,x)-a 在a數(shù)組中下標(biāo)[1-n]中找查找x的位置,返回第一個(gè)大于x的數(shù)字的指針-a即為下標(biāo)
10.random_shuffle(a+1,a+1+n) 隨機(jī)打亂a數(shù)組中下標(biāo)[1-n]中的數(shù)(對拍神器)
11.vector a; 定義一個(gè)動(dòng)態(tài)數(shù)組a(具體如何使用我就不說了)
12.clock()*1.0/CLOCKS_PER_SEC 返回程序運(yùn)行時(shí)間(CLOCKS_PER_SEC在Windows環(huán)境下是1000)
13.memdet(a,0/-1/0x7f,sizeof(a)); 初始化a數(shù)組(只能是0,-1,正無窮)
二、黑科技宏定義
1.#define N 1000 把程序內(nèi)N全部當(dāng)成1000來用例如:a[N]=a[1000]
2.#define liangbei(a) a*2 (不好形容)例如:cout<<liangbei(10); 輸出:20;
3.#define ll long long ll即代表long long
4.#define pr(x) cout<<#x<<"="<<(x)<<endl; ?。ú缓眯稳?2)例如:int x=1; pr(x) 輸出:x=1
三、其他黑科技
1.O2 在編譯的時(shí)候隨你的代碼進(jìn)行優(yōu)化(似乎是分等級的 O1/O2/O3)
例如:int a=0 for(int i=1;i<=n;i++) a++; 直接變成a=n;
如何在自己電腦上開O2呢?
點(diǎn)擊編譯器選項(xiàng)中寫入-O2
2.-W -Wall -Wextra -Wconversion
在編譯器選項(xiàng)中加入這句話,會在你程序編譯時(shí),給你提示一些你犯的一些低級錯(cuò)誤(例如變量沒初始化)
3.-std=c++11
在編譯器選項(xiàng)中加入這句話,讓你在比賽時(shí)的c++更加強(qiáng)大?。ǜ闱宄荣愂遣皇侵С謈++)
附錄:
1.Dev-c++軟件中的編譯器選項(xiàng)打開方式:
工具-->編譯選項(xiàng)-->第一個(gè)白框。
好了,本文就給大家介紹到這里,精彩內(nèi)容繼續(xù)!
相關(guān)文章
C語言學(xué)生成績管理系統(tǒng)小設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生成績管理系統(tǒng)小設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
C++實(shí)現(xiàn)LeetCode(66.加一運(yùn)算)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(66.加一運(yùn)算),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)通訊錄管理系統(tǒng)項(xiàng)目,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
VC6.0實(shí)現(xiàn)讀取Excel數(shù)據(jù)的方法
這篇文章主要介紹了VC6.0實(shí)現(xiàn)讀取Excel數(shù)據(jù)的方法,非常實(shí)用的功能,需要的朋友可以參考下2014-07-07
C語言創(chuàng)建數(shù)組實(shí)現(xiàn)函數(shù)init,empty,reverse
這篇文章主要介紹了C語言創(chuàng)建數(shù)組實(shí)現(xiàn)函數(shù)init,empty,reverse,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
C語言實(shí)現(xiàn)求梅森素?cái)?shù)的代碼與解析
這篇文章主要給大家介紹了關(guān)于利用C語言實(shí)現(xiàn)求梅森素?cái)?shù)的代碼與解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12

