zoukankan      html  css  js  c++  java
  • 插入排序算法

    插入排序算法

    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

  • 相关阅读:
    SVG ViewBox
    svg中改变class调用的线条颜色
    SVG 箭头线绘制
    Spring3中的mvc:interceptors标签配置拦截器
    MyBatis入门学习
    MyBatis 配置sql语句输出
    使用iBATIS3.0完成增删改查
    iBatis简单入门教程
    SpringMVC常用注解,返回方式,路径匹配形式,验证
    springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
  • 原文地址:https://www.cnblogs.com/morec/p/13191954.html
Copyright © 2011-2022 走看看