码迷,mamicode.com
首页 > 编程语言 > 详细

C#插入排序算法

时间:2020-03-26 19:16:42      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:void   小数   class   new   数字   元素   font   length   OLE   

原理:

1、第一个元素可以看做是已经排序好的小数组,第二个元素和这个小数组比较,放到合适的位置,组成新的已排序的小组数。
2、第三个元素在和前面组成的新的小数组比较,决定排在什么位置,如此循环,直到结束

   public static void insertatesort()
        {
            int[] array = new int[6] { 56, 45, 85, 13, 85, 46 };  //定义一个数组


            for (int i = 1; i < array.Length; i++)   //外层循环,先将数组第二个元素作为基数,再将数组第三的元素作为基数
            { 
                int t = array[i];    //将一个默认的基数赋值给t,这里首先是默认下标为0的数字为基数
                int j = i;          //记录当前基数下标
                while ((j > 0) && (array[j - 1] > t))  //判断前一个元素是否大于当前基数,如果大于则满足条件,执行循环体
                {
                    array[j] = array[j - 1];//交换顺序    如果大于的话将前一个元素放在当前基数的位置
                    --j;            //下标前移
                }
                //跳出循环,说明交换完成
                array[j] = t;  //将基数插入到下标所代表的位置
            }

            foreach (int item in array) {

                Console.Write(item+"    ");

            }

        }

 

C#插入排序算法

标签:void   小数   class   new   数字   元素   font   length   OLE   

原文地址:https://www.cnblogs.com/duoyaduoa/p/12576499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!