学习笔记——冒泡排序的优化

来源:互联网 发布:interbase数据库 编辑:程序博客网 时间:2024/05/26 19:20

优化前的冒泡排序算法:

 void BubbleSort1(int[] array)        {            int i, j;            for (i = 1; i <= array.Length; i++)            {                for (j = array.Length - 1; j >= i; j--)                {                    if (array[j] < array[j - 1])                    {                    //交换位置                    }                }            }        }

优化后的冒泡排序算法:

flag:用于记录上一次循环中是否进行过交换位置的操作,如果未进行过,说明数组已经完成了排序,不需要再继续循环了

        void BubbleSort1(int[] array)        {            int i, j;            bool flag = true;            for (i = 0; i < array.Length - 1 && flag; i++)            {                flag = false;                for (j = array.Length - 1; j > i; j--)                {                    if (array[j] < array[j - 1])                    {                        //交换位置                        flag = true;                    }                }            }        }