1.c++標籤使用
#includeusingnamespace
std;
intmain()
這裡執行不會報錯,http:作為標籤label的使用,可以實驗goto http;跳轉到這裡,進行cout語句。
1 //例子2for(int i = 0; i <= 100; i++) 3
9} 1011
//中間可以有很多**
1213
case: cout < <"
case
"< 1415
輸出結果:
16 hello 1
17 hello 2
18 hello 3
19 hello 4
20 case
**參考:
2.scanf的引用要求和陣列的位址
有定義語句:
int
b;
char
c[10];
則正確的輸入語句是______。 b
scanf("%d%s",&b,&c);
scanf("%d%s",&b,c);
scanf("%d%s",b,c);
scanf("%d%s",b,&c);x是乙個行列數均為1000二維陣列,下面**效率執行最高的是(d)解釋:scanf需要引入變數位址,變數b的變數位址為&b(取址符+變數),而c[10]是陣列,因此c就是陣列的位址。
如果引用c就是對c起乙個別名,c內儲存的位址還是陣列的首位址。
a也可以,但是優先選b。
3.cpu cache預讀效率
for(int j=0;j<1000;j++) for(int i=0;i<1000;i++) x[i][j]+=x[j][i];
for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[j][i];
for(int i=0;i<1000;j++) for(int j=0;j<1000;j++) x[j][i]+=x[j][i];
for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[i][j];解釋:因為cache會預讀當前頁的後幾頁,如果命中,就會繼續預讀後面的頁面,加快速度。
因為陣列的預讀是逐行預讀的,所以d的情況最快,而其他幾個選項有跳列的情況。
牛客網SQL刷題記錄
查詢入職員工時間排名倒數第三的員工所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天 select from employees order by hire date desc limit2,1 or select from employees x where3 select s...
牛客劍指offer刷題記錄(七)
演算法導論上應該有這樣的課後題。歸併的思路,假設f i,j 表示陣列i到j的逆序對數,那麼有 f i,j f i k f k 1,j s i j,k 其中s i,j,k 表示逆序對 p q p i k q k 1,j 由於歸併排序,我麼得到兩個有序的子陣列l,r 那麼當出現逆序對 l i r j 時...
牛客劍指offer刷題記錄(五)
鍊錶的指標域中,除了有指向下乙個節點的鍊錶以外,還有乙個指向隨機節點的指標。struct listnode 常規做法,空間換時間。先常規的將拷貝的節點用next串起來,遍歷一遍原始鍊錶,然後尾插法即可。在尾插的同時,建立乙個由原始節點指標p到拷貝節點指標c的乙個map。再次遍歷原始指標,如果指標p指...