zoukankan      html  css  js  c++  java
  • C#排序算法的实现---冒泡排序

    一、算法原理

      冒泡排序算法的运作如下:

    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    3. 针对所有的元素重复以上的步骤,除了最后一个。
    4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    二、算法分析

      冒泡排序最好的时间复杂度为O(n),算法的平均时间复杂度为O(n*n)。

      冒泡排序是一种稳定的排序算法。

    三、算法实现

    public class BubbleSort
        {
            public void Sort(int[] list)
            {
                int n = list.Length;
                int j = 1;
                bool flag;//排序结束标志,一次比较后没有元素交换则排序结束
                for (int i = 0; i < n - 1; i++)
                {
                    flag = false;
                    //每一趟排序后最后的元素都是最大,所以下一趟比较不需要再比较最后一个元素
                    for (int k = 0; k < n - j; k++)
                    {
                        if (list[k] > list[k + 1])
                        {
                            int temp = list[k];
                            list[k] = list[k + 1];
                            list[k + 1] = temp;
                            flag = true;
                        }
                    }
                    if (!flag)
                        break;
                   j++;
                }
            }
        }
  • 相关阅读:
    Vue 组件的基础介绍
    Java web中的路径问题
    个人网站的使用路线
    EL表达式
    jsp
    状态管理和作用域对象
    servlet
    jsp session获取问题
    关于jsp页面中接收二维数组
    个人网站开发(二)
  • 原文地址:https://www.cnblogs.com/DCLi/p/BubbleSort.html
Copyright © 2011-2022 走看看