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>数组排序

  • 相关阅读:
    libnids-1.24 使用源码问题
    Linux学习man page
    shell 脚本,提取文件中的内容
    shell中的语法(1)
    python 爬取百度翻译进行中英互译
    matlab等高线绘制
    matlab 对tif数据高程图的处理分析
    python网络爬虫与信息提取 学习笔记day3
    python网络爬虫与信息提取 学习笔记day2
    python网络爬虫与信息提取 学习笔记day1
  • 原文地址:https://www.cnblogs.com/wangzhen/p/2183312.html
Copyright © 2011-2022 走看看