• 数据结构与算法之冒泡排序(C++)


     在c语言里面算法和数据结构是非常重要的,同样在C++中也是不可缺少的一部分,算法的思想有很大的相似之处,如果你对C语言的数据结构与算法非常熟悉的话,那么对于C++的数据结构也是非常好理解的。首先我们来讲一讲最基本的排序方式--冒泡排序法

    冒泡排序

    对于冒泡排序法,大家学过C语言的应该都不会陌生,他的中心思想也比较好理解,用C++来做的话,原理是一样。

    比如我们有n个无序的数,需要对他进行排序,那么我们就需要对这些数扫描n-1次

    当我们扫描第一次的时候,就会从左到右依次比较相邻两个数之间的大小,如果前面的数比后面的数大则进行交换,反之不交换。

    如果是n个数,扫描第一次时,那么他们的比较次数为n-1次,

    扫描第二次时,他们的比较次数是n-2次 

    依次类推,扫描第i次时,比较次数为n-i-1次

    接下来用程序更好的理解一下

    1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 void BubbleSort(int list[] , int n);
     6 
     7 int main()
     8 {
     9     int a[] = {2,4,6,8,0,1,3,5,7,9};    
    10     BubbleSort(a,10);
    11     for(int k=0; k<10; k++)
    12         cout << a[k] <<endl;
    13 
    14     return 0;
    15 }
    16 
    17 void BubbleSort(int list[] , int n)
    18 {
    19     for(int i=0; i<n-1; i++)
    20     {
    21         for(int j=0; j<n-i-1; j++)
    22         {
    23             if(list[j]>list[j+1])       
    24                 swap(list[j],list[j+1]);
    25         }
    26     
    27     }
    28 
    29 }                                    
  • 相关阅读:
    android状态栏
    python基础(二)——文件操作
    python基础(一)——字符串
    每日读书
    gradle相关
    EditText整体hint
    java生成pdf
    Androidstudio点9图报错
    【ASP.NET Core学习】使用JWT认证授权
    数据访问仓储模式的事务管理(Unit of Work)
  • 原文地址:https://www.cnblogs.com/tanshengjiang/p/14221581.html
Copyright © 2020-2023  润新知