排序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sort
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] myData = { 1000, 3, 55, 33, 4, 34, 344, 23, 333, 32, 66, 76, 766, 454 };
          //  bubbleSort(myData);
            // SelectSort(myData);
            InsertSort(myData);
            print(myData);
            Console.ReadKey();

        }

        static void print(int[] items)
        {
            Console.WriteLine("*******显示数组开始*******");
            foreach (int item in items)
            {

                Console.WriteLine(item);

            }
            Console.WriteLine("*******显示数组结束*******");
        }

        //冒泡
        static void bubbleSort(int[] items)
        {
            bool flag; //设一个标志
            for (int i = 0; i < items.Length - 1; i++)
            {
                flag = false;
                for (int j = 0; j < items.Length - 1 - i; j++)
                {
                    if (items[j] > items[j + 1])
                    {
                        int temp = items[j];
                        items[j] = items[j + 1];
                        items[j + 1] = temp;
                        flag = true;  //标志设为true
                    }
                }

                if (flag == false)
                    return; //没发生交换,表明当前已经有序,直接返回
            }
        }

        //选择  从0开始,从剩余部分数组中选出最小值

        static void SelectSort(int[] arr)
        {

            int min;
            for (int i = 0; i < arr.Length - 1; ++i)
            {
                min = i;
                for (int j = i + 1; j < arr.Length; ++j)
                {
                    if (arr[j] < arr[min])
                        min = j;
                }
                
                int t = arr[min];
                arr[min] = arr[i];
                arr[i] = t;
            }
        }
        //插入排序--直接插入
        static void InsertSort(int[] arr)
        {
            for (int i = 1; i < arr.Length; i++)
            {
                int t = arr[i];
                int j = i;
                while ((j > 0) && (arr[j - 1] > t))
                {
                    arr[j] = arr[j - 1];//交换顺序
                    --j;
                }
                arr[j] = t;
            }
        }
    }
}

原文地址:https://www.cnblogs.com/oneroom/p/1870210.html