数据结构自用笔记(五):直接插入排序

数据结构自用笔记(五):直接插入排序

思路:只要打过扑克牌的人都应该能够秒懂,其实就是桌面上的牌堆,从里面按顺序抽牌,拿到的牌在手牌里进行排序然后插入,这就是直接插入排序

废话不多说,直接上代码

class Program
    {
        static void insertsort(int[] dataarray)
        {
            for (int i = 1; i < dataarray.Length; i++)//i等于1 是因为拿第一个当手牌
            {
                int ivalue = dataarray[i];
                bool isinsert = false;
                //拿到i元素跟当前所有的元素作比较
                //如果发现比i大的 就让他向后移动
                for (int j = i-1; j  >=0; j--)
                {
                    if(dataarray[j]>ivalue)
                    {
                        dataarray[j + 1] = dataarray[j];//向后移动
                    }
                    else
                    {
                        //发现一个比i小的值 就不移动了
                        dataarray[j+1] = ivalue;
                        isinsert = true;
                        break;
                    }
                }
                if (isinsert == false)
                {
                    dataarray[0] = ivalue;//一次都没有插入时的情况
                }

            }
        }


**main 函数**

        static void Main(string[] args)
        {
            //测试
            int[] data = new int[] { 42, 20, 17, 27, 13, 8, 17, 48 };
            insertsort(data);
            foreach (var temp in data)
            {
                Console.WriteLine(temp + " ");
            }
            Console.ReadKey();
        }
    }
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页