zoukankan      html  css  js  c++  java
  • 两种排序方法(冒泡排序、选择排序)

    选择排序,每一次外循环,在无序数中选择出一个最小,并放在无序数中的第一位

    public static void SelectSort(int[] list)        //选择排序(升序)
            {
                int min;//记录最小值索引
                int N = list.Length;                      //获得数组list的长度N
                for (int i = 0; i < N - 1; i++)           //外循环进行N-1轮比较
                {
                    min = i;//假设当前索引就是最小值索引
                    for (int j = i; j < N ; j++)          //内循环中在无序数中找最小值(j=i这里循环从i开始,因为i之前都是有序数,不用再比较了)
                    {
                        if (list[min] > list[j])
                        {
                            min = j;
                        }
                    }
                    //最小值与无序数中的第一个元素交换
                    int t = list[min];
                    list[min] = list[i];
                    list[i] = t;
                }
            }

    冒泡排序,每一次外循环,其中的最大数就下沉到当前两两比较数的最后一位

    public static void BubbleSort(int[] list)     //冒泡排序(升序)
            {
                int N = list.Length;                      //获得数组list的长度N
                for (int i = 1; i <= N - 1; i++)          //外循环进行N-1轮比较
                {
                    for (int j = 0; j <= N - 1 - i; j++)   //内循环进两两比较,大数下沉(‘- i’外循环循环完一次选出一个最大值放在后面,后面的就不用再比较了,)
                    {
                        if (list[j] > list[j+1])          //前一个数比后一个数大就替换当前两个数,最后最大数就到最后一个了
                        {
                            int t = list[j];
                            list[j] = list[j+1];
                            list[j+1] = t;
                        }
                    }
                }
            }

    下面就让我们来实现一下吧!

    private void Form1_Load(object sender, EventArgs e)        

    {             //数组排序             int[] iList = new int[5];             Random rd = new Random();             for (int i = 0; i < iList.Length; i++)             {                 int iRD = rd.Next(1, 51);                 if (iList.Contains(iRD))                 {                     i--;                     continue;                 }                 iList[i] = iRD;             }             BubbleSort(iList);

                string strWrite = "";             foreach (int i in iList)             {                 strWrite += i + " ";             }             textBox1.Text = strWrite;         }

  • 相关阅读:
    覆盖式发布与非覆盖式发布
    GIT
    Web Service返回符合Xml Schema规范的Xml文档
    下拉渐显菜单
    计算网页上坐标的距离
    初识交互设计
    良好用户体验-实现过程!
    做 用户调研?
    这个没什么技术含量,实现起来很简单?
    SQL SERVER 登录问题!该用户与可信的Sql Server连接无关联
  • 原文地址:https://www.cnblogs.com/net2012/p/3383535.html
Copyright © 2011-2022 走看看