当前位置:  编程技术>c/c++/嵌入式

C++冒泡排序算法实例

    来源: 互联网  发布时间:2014-10-29

    本文导语:  冒泡排序 大学学习数据结构与算法最开始的时候,就讲了冒泡排序;可见这个排序算法是多么的经典。冒泡排序是一种非常简单的排序算法,它重复地走访过要排序的数列,每一次比较两个数,按照升序或降序的规则,对比较...

冒泡排序

大学学习数据结构与算法最开始的时候,就讲了冒泡排序;可见这个排序算法是多么的经典。冒泡排序是一种非常简单的排序算法,它重复地走访过要排序的数列,每一次比较两个数,按照升序或降序的规则,对比较的两个数进行交换。比如现在我要对以下数据进行排序:

10 3 8 0 6 9 2

当使用冒泡排序进行升序排序时,排序的步骤是这样的:

3 10 8 0 6 9 2  // 10和3进行对比,10>3,交换位置

3 8 10 0 6 9 2  // 10再和8进行对比,10>8,交换位置

3 8 0 10 6 9 2  // 10再和0进行对比,10>0,交换位置

……

3 8 0 6 9 2 10  // 这个时候,10到达了最右边,是最大的数字,此时,我们在从头开始进行对比

3 8 0 6 9 2 10  // 3小于8,所以不用交换位置

3 0 8 6 9 2 10  // 8大于0,所以交换位置

……

0 2 3 6 8 9 10

很简单,就是让大数沉入下面,小数慢慢上浮起来。冒泡排序的时间复杂度也为O(n^2)。

代码实现

代码如下:

#include
using namespace std;
 
void BubbleSort(int arr[], int length)
{
     int temp;
     for (int i = 0; i < length; ++i)
     {
          for (int j = 0; j < length - i - 1; ++j)
          {
               if (arr[j] > arr[j + 1])
               {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
               }
          }
     }
}
 
int main()
{
     int arr[10] = {2, 4, 1, 0, 8, 4, 8, 9, 20, 7};
 
     BubbleSort(arr, sizeof(arr) / sizeof(arr[0]));
 
     for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
     {
          cout

    
 
 

您可能感兴趣的文章:

  • c++冒泡排序示例分享
  • C++ 冒泡排序数据结构、算法及改进算法
  • C++ 基本算法 冒泡法、交换法、选择法、实现代码集合
  • <<大话数据结构>>中冒泡排序算法改进
  • php冒泡排序算法实现代码
  • python冒泡排序算法的实现代码
  • java冒泡排序算法代码
  • c#冒泡排序算法示例
  • 又一个PHP实现的冒泡排序算法分享
  • 冒泡排序算法原理及JAVA实现代码
  • php排序算法 PHP版快速排序与冒泡排序
  • 排序算法之PHP版快速排序、冒泡排序
  • c# 冒泡排序算法(Bubble Sort) 附实例代码
  • 用java实现冒泡排序算法
  • java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
  • 冒泡算法的改进具体实现
  • c语言实现冒泡排序、希尔排序等多种算法示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JQuery中阻止事件冒泡几种方式及其区别介绍
  • C经典冒泡排序法实现代码
  • c#冒泡排序示例分享
  • shell编程中的冒泡排序问题
  • Python实现冒泡,插入,选择排序简单实例
  • jQuery中阻止冒泡事件的方法介绍
  • c语言冒泡排序法代码
  • 冒泡排序的三种实现方法
  • jQuery中事件对象e的事件冒泡用法示例介绍
  • 一个小例子解释如何来阻止Jquery事件冒泡
  • 关于javascript冒泡与默认事件的使用详解
  • 深入Java冒泡排序与选择排序的区别详解
  • Java冒泡排序(Bubble Sort)实例讲解
  • 控制台显示java冒泡排序流程示例
  • Java中的数组排序方式(快速排序、冒泡排序、选择排序)
  • java冒泡排序和选择排序示例
  • php冒泡排序、快速排序、快速查找、二维数组去重实例分享
  • 用c语言实现冒泡排序,选择排序,快速排序
  • java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3