zoukankan      html  css  js  c++  java
  • 交互设计算法基础(9)- Bubble Sort

      基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。每一趟排序后的效果都是讲没有沉下去的元素给沉下去。

      算法流程
      1)比较相邻的两个元素,如果前面的数据大于后面的数据,就将两个数据进行交换;这样对数组第0个元素到第n-1个元素进行一次遍历后,最大的一个元素就沉到数组的第n-1个位置;
      2)重复第2)操作,直到i=n-1。

      时间复杂度分析:O(n^2),冒泡排序是一种不稳定的排序算法。

    void BubbleSort(int a[], int n) {
      int i, j;
      for (i=0; i<n; i++)
        //j的起始位置为1,终止位置为n-i
        for (j=1; j<n-i; j++)
          if (a[j]<a[j-1]) {
            int temp = a[j-1];
            a[j-1] = a[j];
            a[j] = temp;
          }
    }
  • 相关阅读:
    sed 使用总结
    rgmanager 介绍
    linux nbd & qemu-nbd
    corosync基本使用
    svn 基本使用
    tornado 实践
    mysql mac启动
    postgresql
    django
    django
  • 原文地址:https://www.cnblogs.com/x5115x/p/12637980.html
Copyright © 2011-2022 走看看