直接插入排序

class Program
    {
        static void InserSort(int[] dataArray)
        {
            for (int i = 0; i < dataArray.Length; i++)
            {
                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)//如果iValue是最小的,把他放到索引为0的位置
                {
                    dataArray[0] = iValue;
                }
            }
        }

        static void Main(string[] args) {
            int[] data = new int[] { 42,20,17,27,13,8,17,48};
            InserSort(data);
            foreach (var item in data)
            {
                Console.Write(item+"  ");
            }
            Console.ReadKey();
        }
    }
上一篇:C--联合体union


下一篇:layui select动态添加option