C# for循環(huán)的經(jīng)典案例集錦
由于for循環(huán)可以通過控制循環(huán)變量的初始值和循環(huán)結(jié)束條件來改變遍歷的區(qū)間,所以在排序或者遍歷的時(shí)候,利用for循環(huán)就比較簡(jiǎn)單,以下是本人學(xué)習(xí)后得到的一些總結(jié)案例。
1.排序的應(yīng)用
1)交換排序:通過取出的數(shù)和該數(shù)位置后面剩余的其他數(shù)逐一進(jìn)行比較,將最大的或者最小的一個(gè)數(shù)放在一組數(shù)的首位,然后再將第二大的數(shù)放在第二位,依次排完所有的數(shù)。
for(int i = 0; i < (num.length - 1); i ++)
{
for(int j = i + 1; j < num.length; j ++)
{
if(num[i] > num[j])
{
int temp = num[j];
num[i] = num[j];
num[j] = temp;
}
}
}
以上代碼就是實(shí)現(xiàn)將數(shù)組num中的最小值從i - num.length中找出來,并存在第一個(gè)位置,其中 num 是一個(gè)存放了大量數(shù)據(jù)的數(shù)組。
2)冒泡排序:通過不斷的將相鄰的兩個(gè)數(shù)進(jìn)行大小比較,大的數(shù)不斷的往后面的位置交換,小的數(shù)向數(shù)組的頂部位置浮動(dòng)。
for (int i = nums.Length - 1; i > 0; i--)
{
//在 0-i 范圍內(nèi),將該范圍內(nèi)最大的數(shù)字沉到i
for (int j = 0; j < i; j++)
{
if (nums[j] > nums[j+1])
{
//交換
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
3)選擇排序:通過交換排序的方式,將某個(gè)范圍內(nèi)的最小數(shù)提到該范圍內(nèi)的第一位。
for (int i = 0; i < nums.Length - 1; i++)
{
int index = i; //先假設(shè)最小數(shù)的下標(biāo)是i
for (int j = i + 1; j < nums.Length; j++)
{
if (nums[j] < nums[index])
{
index = j;
}
}
int temp = nums[i];
nums[i] = nums[index];
nums[index] = temp;
}
2.質(zhì)數(shù)的判斷
bool isFinnd = false;
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
isFinnd = true;
break;//當(dāng)找到一個(gè)數(shù) i 能夠整除 num 時(shí),說明當(dāng)前的 num 是一個(gè)合數(shù),結(jié)束當(dāng)前的for循環(huán)
}
}
if (!isFinnd)//如果 num 是一個(gè)質(zhì)數(shù),則報(bào)錯(cuò)提示
{
//判斷出當(dāng)前的num是質(zhì)數(shù)
}
當(dāng)前代碼的 num 是一個(gè)具體的整型變量。
除了以上的案例,當(dāng)然還有很多的應(yīng)用場(chǎng)景,需要大家在運(yùn)用的時(shí)候不斷自己總結(jié)。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
- C#中Foreach循環(huán)遍歷的本質(zhì)與枚舉器詳解
- C# 9.0新特性——擴(kuò)展方法GetEnumerator支持foreach循環(huán)
- c#中l(wèi)ist.FindAll與for循環(huán)的性能對(duì)比總結(jié)
- C#中foreach循環(huán)對(duì)比for循環(huán)的優(yōu)勢(shì)和劣勢(shì)
- 淺談C#中的for循環(huán)與foreach循環(huán)
- C# winform循環(huán)播放多個(gè)視頻
- C#使用for循環(huán)移除HTML標(biāo)記
- c# for循環(huán)中創(chuàng)建線程執(zhí)行問題
相關(guān)文章
C#實(shí)現(xiàn)獲取電腦中的端口號(hào)和硬件信息
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)獲取電腦中的端口號(hào)和硬件信息的相關(guān)方法,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2025-01-01
C#中winform控制textbox輸入只能為數(shù)字的方法
這篇文章主要介紹了C#中winform控制textbox輸入只能為數(shù)字的方法,包括使用keyPress事件限制鍵盤輸入以及TextChanged事件限制粘貼等情況,來實(shí)現(xiàn)控制輸入為數(shù)字的功能,需要的朋友可以參考下2015-01-01
C#使用Sleep(Int32)方法實(shí)現(xiàn)動(dòng)態(tài)顯示時(shí)間
這篇文章主要為大家詳細(xì)介紹了C#如何使用Sleep(Int32)方法實(shí)現(xiàn)動(dòng)態(tài)顯示時(shí)間,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-01-01
WPF如何利用附加屬性修改ShowGridLines效果詳解
這篇文章主要給大家介紹了關(guān)于WPF如何利用附加屬性修改ShowGridLines效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2018-04-04

