zoukankan      html  css  js  c++  java
  • [练手2]冒泡排序

    目      标      用C#实现冒泡排序    

    性能分析
    若记录序列的初始状态为"正序",则冒泡排序过程只需进行一趟排序,在排序过程中只需进行n-1次比较,且不移动记录;反之,若记录序列的初始状态为"逆序",则需进行n(n-1)/2次比较和记录移动。因此冒泡排序总的时间复杂度为O(n*n)。  

    实现
         1 冒泡排序的基本概念是:依次比较相邻的两个数,将大数放在前面,小数放在后面

         2 代码:

             public void Sort(int [] intArray)
            {
                int intTemp;
                bool blnDo = true;//如果已经没有互换动作说明已经排好
                for (int i = 1; i < intArray.Length; i++)//通过i次冒泡
                {
                    if (blnDo)
                    {
                        break;
                    }
                    blnDo = true;
                    for (int j = 0; j < intArray.Length - i; j++)//排序j个元素
                    {
                        if (intArray[j] > intArray[j + 1])
                        {
                            //互换
                            blnDo = false;
                            intTemp = intArray[j];
                            intArray[j] = intArray[j + 1];
                            intArray[j + 1] = intTemp;
                        }
                    }
                }
            }


    代码下载  冒泡排序代码

  • 相关阅读:
    Linux基础命令---sudo
    Linux基础命令---yes
    Linux基础命令---shutdown
    Divide Two Integers
    java 判断两个数是否异号
    字节顺序的详细解释(转)
    java无符号移位(>>>)和有符号移位(>>)
    java 参数化类型
    c++事件内核对象(event)进程间激活(转)
    windows多线程编程(一)(转)
  • 原文地址:https://www.cnblogs.com/eugenewu0808/p/DO2.html
Copyright © 2011-2022 走看看