• C#算法 选择排序、冒泡排序、插入排序


    1.冒泡排序:

    方法一:

    public static int[] MaoPao(int[] arr)
            {
                //执行多少次
                for (int i = 0; i < arr.Length; i++)
                {
                    //每执行1次,把最大的放在最后
                    for (int j = 0; j < arr.Length - 1; j++)
                    {
                       int a = arr[j];
                        int b = arr[j + 1];
                        if (a>b)
                        {
                            arr[j+1] = a;
                            arr[j] = b;
                        }
                    }
                }
                return arr;
            }  

    冒泡排序2

     public static int[] MaoPao2(int[] arr)
            {
                for (int i = arr.Length-1; i >=1; i--)
                {
                    for (int j = 0; j<= j-1; j++)
                    {
                        int a = arr[j];
                        int b = arr[j + 1];
                        if (a > b)
                        {
                            arr[j + 1] = a;
                            arr[j] = b;
                        }
                    }
                }
                return arr;
            }
    

      选择排序;找最小的,放在前面,再找第2个小的,直到找完。

            //选择排序
            public static int[] XuanZhe(int[] arr)
            {
                int min, temp;
                //执行多少次
                for (int i = 0; i < arr.Length; i++)
                {
                    min = i; //最小值先取当前第1个
                    
                    for (int j = i + 1; j < arr.Length; j++)//j从第2个值开始取
                    {
                        if (arr[j] < arr[min])
                        {
                            min = j;
                        }
                    }
                    //先把最小值取出来了,再操作
                    temp = arr[i];
                    arr[i] = arr[min];
                    arr[min] = temp;
                }
                return arr;
            }
    

      3.插入排序

    后面一个和前面几个比较,是放前面,中间,还是后面

            public static int[] InsertSort(int[] arr)
            {
                int inner, temp;
                //执行多少次
                for (int i = 0; i < arr.Length; i++)
                {
                    temp = arr[i];
                    inner = i;
                    while (inner > 0 && arr[inner - 1] >= temp)
                    {
                        arr[inner] = arr[inner - 1];
                        inner -= 1;
                    }
                    arr[inner] = temp;
    
                    foreach (var item in arr)
                    {
                        Console.Write(item + " ");
                    }
                    Console.WriteLine();
                }
                return arr;
            }
    

      

  • 相关阅读:
    10.异常
    9.1 oop习题集合
    9.抽象类和接口
    8.oop-多态
    AngularJs学习笔记二
    浅谈如何坚持计划
    妙味课堂——JavaScript基础课程笔记
    前端学习-试卷
    jquery实战
    boost any
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/9802074.html
Copyright © 2020-2023  润新知