C#中for迴圈的執行個體分析

來源:互聯網
上載者:User
本篇文章主要介紹了關於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 是一個具體的整型變數。

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.