1 陣列
1.1定義某種陣列
int pad[10][10]=,,,
,,,,
,,
};
1.2 同樣是定義某個float二維陣列
float **p;
p=new float *[n];
for(int i=0;i>p[i][j];
}
1.3 重新將陣列全部初始化為0
memset(vis,0,sizeof vis);
1.4
子函式(int a,int result[ ])
result[0]=1;
result[1]=2;
主函式int main()
int fier[3]=;
2.位運算
2.1 交換兩個數字
high = low ^ high;
low = low ^ high;
high = low ^ high;
2.2.dif中有多少個1
int cnt=0;
while(dif!=0)
3.pair的vector對
3.1 pair對,比如記錄的是檔案和行數string的錯誤次數int。
vector> errors;\\定義
errors.push_back(make_pair(file, 1));\\加入,乙個是string還有乙個就是int數字
for (int i = 0; i<(errors.size() - 1); i++)
}
如果下面要對這個進行從大到小的排序呢
bool compare(paira, pairb)
stable_sort(errors.begin(), errors.end(), compare);
對這樣乙個東西進行輸出,要求如果條數大於8條,就輸出前8條而且檔名如果超過16,那就輸出後16.
int idx = 0;
while (idx<8 && idx16)
errors[idx].first.erase(0, t - 16);\\刪除從0開始的,t-16長度的字元
cout << errors[idx].first << ' ' << errors[idx].second << endl;
idx++;
}
3.2 pair也可以進行比大小排序
bool cmp(const pair& a,const pair& b)
vector> array;\\定義這個pairvector
stable_sort(array.begin(),array.end(),cmp);\\輸出
vectorans;
for(int i=0;i3.3 //map內部本身就是按照key的大小順序進行儲存的,以map的順序進行輸出
for(map::iterator it=m.begin();it!=m.end();++it)
4. cmp.可以達到**根據後乙個排序。小技巧。
struct score_hour;
bool cmp(score_hour a, score_hour b)
while(n--)
sort(v.begin(),v.end(),cmp);
5.輸出,保留小數點數2位
printf("%.2f\n",dif/2.0);
6.棧stacks;
s.push();
s.top();
s.pop();
位運算和位元陣列
列舉查詢的劣勢簡直無需多言,有n個元素,那複雜度就是o n 查詢乙個元素是如此地費勁!倘若我需要你做m次查詢,複雜度就是o n m 當然,我們可以用對分查詢來優化,但是對分查詢需要乙個有序的陣列,通過每次對折一半的方法,最終的複雜度是o logn 小於線性。但是這還是不能讓我們滿意。在解決圖論問題時...
C語言 2 位運算
位運算是指以二進位制位為物件的運算,指標運算和位運算往往是編寫系統軟體所需要的。在計算機用於檢測和控制領域也要用到位運算的知識。位運算子當中除了 以外都是雙目運算子 參加位運算的只能是整型或者字元型資料。按位與運算 運算子為 參與運算的兩個資料,按二進位制位進行 與 運算。如果相應的兩個二進位制位都...
2 變數 運算子 位運算
數值計算 資料儲存 定義變數 申請儲存空間 資料輸入 數值計算 資料輸出 一 變數 定義變數 訪問變數 變數 記憶體單元 定義變數 資料型別 預定義資料型別 寫入輸入 cin ctemp 賦值 ctemp 36 初始化 int x 10,y 讀出自動讀取 ftemp ctemp 1.8 32 輸出 ...