C++/C循環(huán)語句的效率問題

循環(huán)語句的效率:

10多年建站經(jīng)驗, 做網(wǎng)站、網(wǎng)站建設(shè)客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細(xì)報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

C++/ C 循環(huán)語句中,f or語句使用頻率最高,whi l e語句其次,do語句很少用。提高循環(huán)體效率的基本辦法是降低循環(huán)體的復(fù)雜性。

1.在多重循環(huán)中,如果有可能,應(yīng)當(dāng)將最長的循環(huán)放在最內(nèi)層,最短的循環(huán)放在最外層,以減少CPU跨切循環(huán)層的次數(shù)。

例1:

程序1:

for (row = 0; row<100; row++)

{

for (col = 0; col<5; col++)

{

sum = sum + a[row][col];

}

}

程序2:

for (col = 0; col<5; col++)

{

for (row = 0; row<100; row++)

{

sum = sum + a[row][col];

}

}

分析:程序1低效率,長循環(huán)在最外層;程序2高效率,長循環(huán)在最內(nèi)層。

2.如果循環(huán)體內(nèi)存在邏輯判斷,并且循環(huán)次數(shù)很大,宜將邏輯判斷移到循環(huán)體的外面。

程序1:

for (i = 0; i <N; i++)

{

if (condition)

{

DoSomething();

}

else

{

DoOtherthing();

}

}

程序2:

if (condition)

{

for (i = 0; i < N; i++)

{

DoSomething();

}

}

else

{

for (i = 0; i < N; i++)

{

DoOtherthing();

}

}

分析:程序1效率低但程序簡潔;程序2效率高但程序不簡潔.

補(bǔ)充:

goto語句:能夠從多重循環(huán)體中咻地一下子跳到外面,用不著寫很多次的break語句;由于goto語句存在很多隱患,因此主張少用、慎用goto 語句。

如:

{

{

{

goto error;

}

}

}

error;

 

網(wǎng)頁題目:C++/C循環(huán)語句的效率問題
分享鏈接:http://bm7419.com/article46/jdiohg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航品牌網(wǎng)站設(shè)計、小程序開發(fā)、定制網(wǎng)站企業(yè)建站、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)