c#代码实现排序算法之冒泡排序

冒泡排序的平均时间复杂度为O(n²),最好时间复杂度为O(n),最坏时间复杂度为O(n²),空间复杂度为O(1),是一种稳定的算法。

1.将整个待排序的记录序列划分成有序区无序区,初始时有序区为空,无序区包括所有待排序的记录。
2.对无序区从前向后依次比较相邻记录,若反序则交换,从而使得值较小的记录向前移,值较大的记录向后移(向水中的气泡,体积大的先浮上来)。
3.重复执行2,直到无序区中没有反序的记录。

       public static void popSort()
        {
            int[] list = { 7, 5, 6, 3, 9, 4, 1 };
            for (int i = 0; i < list.Length - 1; i++)
            {
                for (int j = 0; j < list.Length - 1 - i; j++)
                {
                    if (list[j] > list[j + 1])
                    {
                        int t = list[j];
                        list[j] = list[j + 1];
                        list[j + 1] = t;
                    }
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/tubugs/article/details/83117870