C# 冒泡排序算法

来源:互联网 发布:分布式更新数据 编辑:程序博客网 时间:2024/05/16 10:07

C# 冒泡算法,改良的冒泡算法,可以提高效率,注意:第一次假如就是顺序的话,就直接退出循环。

static void Main(string[] args)        {            //用冒泡算法实现下列数组元素从小到大排列             int[] arr = {20,21,24,59,56,78,90,16,38,98};            //数组的定义3种:            //int[] arrs1 = { 1,2,4};            //int[] arrs2=new int[3];            //int[] arrs3 = new int[] {1,3,3,3,3,3,3,4 };                        //进行冒泡排序            //外层循环将最大值放最后            for (int i = 0; i <arr.Length-1; i++)            {                bool flag=true;  //冒泡排序优化说明:当发现前面已经不在交换,证明已经是有序队列,故结束整个循环的排序                //看第一次排序是否已经是有序队列                //内层循环将两两交换                for (int j = 0; j< arr.Length-1-i; j++)                {                    flag = true;                    int temp=0;                    if (arr[j]> arr[j+1])                    {                        temp = arr[j + 1];                        arr[j+1]=arr[j];                        arr[j] = temp;                        flag = false;                    }                }                if (flag==false)                {                    break;                }            }            foreach (int item in arr)            {                Console.Write(item);            }            Console.ReadKey();        }


0 0
原创粉丝点击