日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

關(guān)于for循環(huán)的幾種經(jīng)典案例

 橙公子閱 2021-12-04

由于for循環(huán)可以通過(guò)控制循環(huán)變量的初始值和循環(huán)結(jié)束條件來(lái)改變遍歷的區(qū)間,所以在排序或者遍歷的時(shí)候,利用for循環(huán)就比較簡(jiǎn)單,以下是本人學(xué)習(xí)后得到的一些總結(jié)案例。

1.排序的應(yīng)用

1)交換排序:通過(guò)取出的數(shù)和該數(shù)位置后面剩余的其他數(shù)逐一進(jìn)行比較,將最大的或者最小的一個(gè)數(shù)放在一組數(shù)的首位,然后再將第二大的數(shù)放在第二位,依次排完所有的數(shù)。

 1 for(int i = 0; i < (num.length - 1); i ++)
 2 {
 3     for(int j = i + 1; j < num.length; j ++)
 4     {
 5           if(num[i] > num[j])
 6            {
 7                int temp = num[j];
 8                num[i] = num[j];
 9                num[j] = temp;
10            }
11     }
12 }            

以上代碼就是實(shí)現(xiàn)將數(shù)組num中的最小值從i - num.length中找出來(lái),并存在第一個(gè)位置,其中 num 是一個(gè)存放了大量數(shù)據(jù)的數(shù)組。

2)冒泡排序:通過(guò)不斷的將相鄰的兩個(gè)數(shù)進(jìn)行大小比較,大的數(shù)不斷的往后面的位置交換,小的數(shù)向數(shù)組的頂部位置浮動(dòng)。

 1 for (int i = nums.Length - 1; i > 0; i--)
 2 {
 3     //在 0-i 范圍內(nèi),將該范圍內(nèi)最大的數(shù)字沉到i
 4     for (int j = 0; j < i; j++)
 5     {
 6         if (nums[j] > nums[j+1])
 7         {
 8             //交換
 9             int temp = nums[j];
10             nums[j] = nums[j+1];
11             nums[j+1] = temp;
12         }
13     }
14 }

3)選擇排序:通過(guò)交換排序的方式,將某個(gè)范圍內(nèi)的最小數(shù)提到該范圍內(nèi)的第一位。

 1 for (int i = 0; i < nums.Length - 1; i++)
 2 {
 3     int index = i; //先假設(shè)最小數(shù)的下標(biāo)是i
 4     for (int j = i + 1; j < nums.Length; j++)
 5     {
 6         if (nums[j] < nums[index])
 7         {
 8             index = j;
 9         }
10     }
11     int temp = nums[i];
12     nums[i] = nums[index];
13     nums[index] = temp;
14 }

2.質(zhì)數(shù)的判斷

 1 bool isFinnd = false;
 2 for (int i = 2; i < num; i++)
 3 {
 4     if (num % i == 0)
 5     {
 6         isFinnd = true;
 7         break;//當(dāng)找到一個(gè)數(shù) i 能夠整除 num 時(shí),說(shuō)明當(dāng)前的 num 是一個(gè)合數(shù),結(jié)束當(dāng)前的for循環(huán)
 8     }
 9 }
10 if (!isFinnd)//如果 num 是一個(gè)質(zhì)數(shù),則報(bào)錯(cuò)提示
11 {
12     //判斷出當(dāng)前的num是質(zhì)數(shù)
13 }    

當(dāng)前代碼的 num  是一個(gè)具體的整型變量。

除了以上的案例,當(dāng)然還有很多的應(yīng)用場(chǎng)景,需要大家在運(yùn)用的時(shí)候不斷自己總結(jié)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多