• 插入排序算法


    插入排序算法

    using System;
    
    namespace AlgorithmDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] arr = new int[10];
    
                for (int i = 0; i < 10; i++)
                {
                    arr[i] = new Random(DateTime.Now.Millisecond + i).Next(1, 100);
                }
                Console.WriteLine("排序之前的数组为 :********************************");
                arr.Show();
                Console.WriteLine();
                Console.WriteLine("排序中的数组为 :********************************");
    
                InsertSort(arr);
                Console.WriteLine("排序之后的数组为 :********************************");
                arr.Show();
                Console.Read();
            }
    
            //插入排序
            static void InsertSort(int[] arr)
            {
    
                int inner, temp;
                for (int outer = 1; outer < arr.Length; outer++)
                {
                    temp = arr[outer];
                    inner = outer;
                    while (inner > 0 && arr[inner - 1] >= temp)
                    {
                        arr[inner] = arr[inner - 1];
                        inner -= 1;
    
                    }
                    arr[inner] = temp;
                    arr.Show();
                }
            }
            //选择排序
            static void SelectionSort(int[] arr)
            {
    
                int min, temp;
                for (int outer = 0; outer < arr.Length; outer++)
                {
                    min = outer;
                    for (int inner = outer + 1; inner < arr.Length; inner++)
                    {
                        if (arr[inner] < arr[min])
                        {
                            min = inner;
                        }
                    }
                    temp = arr[outer];
                    arr[outer] = arr[min];
                    arr[min] = temp;
    
                    arr.Show();
                }
            }
    
    
        }
    
        public static class Extensions
        {
            public static void Show(this int[] arr)
            {
    
                foreach (var item in arr)
                {
                    Console.Write(item + " ");
                }
                Console.WriteLine();
            }
        }
    }

    排序之前的数组为 :********************************
    61 65 18 69 22 74 27 78 31 83

    排序中的数组为 :********************************
    61 65 18 69 22 74 27 78 31 83
    18 61 65 69 22 74 27 78 31 83
    18 61 65 69 22 74 27 78 31 83
    18 22 61 65 69 74 27 78 31 83
    18 22 61 65 69 74 27 78 31 83
    18 22 27 61 65 69 74 78 31 83
    18 22 27 61 65 69 74 78 31 83
    18 22 27 31 61 65 69 74 78 83
    18 22 27 31 61 65 69 74 78 83
    排序之后的数组为 :********************************
    18 22 27 31 61 65 69 74 78 83

  • 相关阅读:
    json页面解析
    map判断
    将页面中所有的checkbox设成单选得
    配置两个环境变量:
    一个input框边输入,另外一个input框中边显示的触发事件
    页面tr和td的的隐藏与显示
    判断声明出来的list为空的时候,list!=null
    从一个表中往另外一个表中插入数据用到的SQL
    final使用方法
    Android学习笔记(23):列表项的容器—AdapterView的子类们
  • 原文地址:https://www.cnblogs.com/morec/p/13191954.html
Copyright © 2020-2023  润新知