C#中for迴圈的實例分析

黄舟
發布: 2017-05-21 10:50:19
原創
2008 人瀏覽過

本篇文章主要介紹了關於for循環的經典案例,具有很好的參考價值。下面跟著小編一起來看下吧

由於for迴圈可以透過控制迴圈變數的初始值和迴圈結束條件來改變遍歷的區間,所以在排序或遍歷的時候,利用for迴圈就比較簡單,以下是本人學習後得到的一些總結案例。

1.排序的應用

1)交換排序:透過取出的數和該數位置後面剩餘的其他數逐一進行比較,將最大的或最小的一個數放在一組數的首位,然後再將第二大的數放在第二位,依序排完所有的數。

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;
      }
  }
}
登入後複製

以上程式碼就是實作將陣列num中的最小值從i - num.length中找出來,並存在第一個位置,其中num 是一個存放了大量資料的數組。

2)冒泡排序:透過不斷的將相鄰的兩個數進行大小比較,大的數不斷的往後面的位置交換,小的數向數組的頂部位置浮動

for (int i = nums.Length - 1; i > 0; i--)
{
  //在 0-i 范围内,将该范围内最大的数字沉到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)選擇排序:透過交換排序的方式,將某個範圍內的最小數提到該範圍內的第一位。

for (int i = 0; i < nums.Length - 1; i++)
{
  int index = i; //先假设最小数的下标是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.質數的判斷

bool isFinnd = false;
for (int i = 2; i < num; i++)
{
  if (num % i == 0)
  {
    isFinnd = true;
    break;//当找到一个数 i 能够整除 num 时,说明当前的 num 是一个合数,结束当前的for循环
  }
}
if (!isFinnd)//如果 num 是一个质数,则报错提示
{
  //判断出当前的num是质数
}
登入後複製

目前程式碼的 num  是一個特定的整數變數。

除了以上的案例,當然還有很多的應用場景,需要大家在運用的時候不斷自己總結。

以上是C#中for迴圈的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板