C# for循环的经典案例集锦

作者:涂涂的世界 时间:2022-11-18 20:01:53 

由于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  是一个具体的整型变量。

除了以上的案例,当然还有很多的应用场景,需要大家在运用的时候不断自己总结。

来源:http://www.cnblogs.com/Mr-Beyond/p/6850925.html

标签:c#,for,循环
0
投稿

猜你喜欢

  • Java之InputStreamReader类的实现

    2023-09-03 01:28:17
  • 关于Android HTML5 audio autoplay无效问题的解决方案

    2021-09-22 04:10:30
  • Android弹出窗口实现方法

    2022-05-25 06:27:31
  • C语言指针的图文详解

    2021-07-26 11:26:25
  • Java编程中随机数的生成方式总结

    2022-06-14 11:57:27
  • Android 利用反射+try catch实现sdk按需引入依赖库的方法

    2022-09-19 22:09:08
  • SpringBoot整合activemq的案例代码

    2023-11-06 18:41:37
  • Spring中XML schema扩展机制的深入讲解

    2022-06-29 07:44:15
  • java内部类的定义与分类示例详解

    2022-07-01 20:16:47
  • Java在PDF中添加表格过程详解

    2022-12-24 20:32:04
  • SpringBoot实现模块日志入库的项目实践

    2022-06-15 10:32:49
  • SpringMVC的源码解析

    2022-10-05 20:12:18
  • Android编程之利用服务实现电话监听的方法

    2022-02-16 03:59:42
  • Android RetainFragment状态保存的方法

    2023-06-03 03:35:08
  • Android滑动组件悬浮固定在顶部效果

    2022-12-13 19:24:32
  • Android TextWatcher监控EditText中的输入内容并限制其个数

    2022-08-18 13:27:41
  • Android网络访问之Retrofit使用教程

    2023-08-30 01:02:08
  • JPA @Basic单表查询如何实现大字段懒加载

    2021-06-03 18:02:00
  • java通过Idea远程一键部署springboot到Docker详解

    2022-03-26 09:31:27
  • 详解Java中的数组与字符串相关知识

    2023-02-10 03:31:10
  • asp之家 软件编程 m.aspxhome.com