zoukankan      html  css  js  c++  java
  • C# 数组排序

    一:冒泡排序法
    class Sort
    {
    int temp;
    int[] num = new int[] { 3, 20, 1, 35, 2 };

    public void Show()
    {
    //冒泡排序:
    //第一重循环表示要冒泡的次数,第一次冒泡4次,第二次冒泡3次......
    for (int i = 1; i < num.Length; i++)
    {
    for (int j = 0; j < num.Length - i; j++)
    {
    if (num[j] > num[j + 1]) //将每相邻的两个数相比
    {
    temp = num[j];
    num[j] = num[j + 1];
    num[j + 1] = temp;
    }
    }
    }

    //相同道理,只是一个是从上开始,一个是从下开始
    for (int i = num.Length - 1; i > 0; i--)
    {
    for (int j = num.Length - 1; j > num.Length - i; j--)
    {
    if (num[j] < num[j - 1])
    {
    temp = num[j];
    num[j]=num[j-1];
    num[j-1]=temp;
    }
    }
    }
    }
    }

    二:插入排序法
    public class Insert
    {
    public void Show(int[] list)
    {
    for (int i = 1; i < list.Length; i++)
    {
    int temp = list[i]; //把要进行比较的数暂时存到一个临时变量中
    int j = i;
    //进行比较,如果大于拿出来的中个数,就把大的数放到那出来的那个数的原来的位置
    //如此循环比较,循环往下挪动位置
    while (j > 0 && (list[j - 1] > temp)) //注意数组的索引要大于0
    {
    list[j] = list[j - 1];
    j--;
    }
    list[j] = temp; //将中个拿出来的数放到合适的空闲位置
    }

    }
    }

    三:选择排序法
    class Sort
    {
    int[] list = new int[]{3,20,0,100};
    int temp;

    public void Show()
    {
    for (int i = 0; i < list.Length - 1; i++) //最后一个数没有可比的对象所以不用循环比较了
    {
    for (int j = i + 1; j < list.Length; j++)
    {
    if (list[j] > list[i]) //一个固定的数和数组内的其他每一个数都相比
    {
    temp = list[j];
    list[j] = list[i];
    list[i] = temp;
    }
    }
    }
    }
    }
    C# <wbr>数组排序

  • 相关阅读:
    Java线程
    IO流
    staitc
    权限修饰符
    nexus
    Maven
    Git 常用命令
    获取url参数
    创建存储过程和函数
    三层引号
  • 原文地址:https://www.cnblogs.com/wangzhen/p/2183312.html
Copyright © 2011-2022 走看看