没有过多的说明,只为将来可能会用到的日子,能拿来做参考。

1、冒泡(Bubble)

        7 5 2 1 5 9
        5 7 2 1 5 9
        5 2 7 1 5 9
        5 2 1 7 5 9
        5 2 1 5 7 9

        2 5 1 5 7 9
        2 1 5 5 7 9
        2 1 5 5 7 9

        1 2 5 5 7 9

        public static void BubbleSort(int[] a)
        {
            int n = a.Length - 1;//个数
            int i, j;//用于控制循环
            int tmp;//中间变量
            bool isChange;//记录冒泡一轮下来是否发生交换(如果没有发生交换证明已排好序)
            for (i = 0; i < n; i++)
            {
                isChange = false;
                for (j = 0; j < n - i; j++)//每轮冒泡过后要对比的数就少一个
                {
                    if (a[j] > a[j + 1])//大的数向上冒
                    {
                        tmp = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = tmp;
                        isChange = true;
                    }
                }
                if (!isChange)
                {
                    return;
                }

            }
            return;
        }
View Code

相关文章: