• 排序算法 之 冒泡排序


     1 #include <iostream>
     2 using namespace std;
     3 void bubbleSort(int data[],int length)
     4 {
     5     if (data == nullptr || length <= 0)
     6     {
     7         return;
     8     }
     9     for (int i = 0 ; i < length ; i++)
    10     {
    11         for (int j = length-1 ; j > i ; j --)
    12         {
    13             if (data[j] < data[j-1])
    14             {
    15                 swap(data[j],data[j-1]);
    16             }
    17         }
    18         printf("第%d次排序后的结果 : " ,i+1);
    19         for (int i =0 ;i < length ;++i)
    20         {
    21             printf("%d  ",data[i]);
    22         }
    23         printf("
    ");
    24     }
    25 }
    26 int main()
    27 {
    28     int data[] = {2,5,1,4,0,-3,59,-78,62,3};
    29     bubbleSort(data,sizeof(data)/sizeof(int));
    30     printf("
    
    ");
    31     for (int i =0 ;i < sizeof(data)/sizeof(int) ;++i)
    32     {
    33         printf("%d ",data[i]);
    34     }
    35     printf("
    ");
    36     return 0;
    37 }
    View Code
     1 #include <iostream>
     2 using namespace std;
     3 void bubbleSort(int data[],int length)
     4 {
     5     if (data == nullptr || length <= 0)
     6     {
     7         return;
     8     }
     9     for (int i = 0 ; i < length ; i++)
    10     {
    11         for (int j = length-1 ; j > i ; j --)
    12         {
    13             if (data[j] < data[j-1])
    14             {
    15                 swap(data[j],data[j-1]);
    16             }
    17         }
    18         printf("第%d次排序后的结果 : " ,i+1);
    19         for (int i =0 ;i < length ;++i)
    20         {
    21             printf("%d  ",data[i]);
    22         }
    23         printf("
    ");
    24     }
    25 }
    26 int main()
    27 {
    28     int data[] = {2,5,1,4,0,-3,59,-78,62,3};
    29     bubbleSort(data,sizeof(data)/sizeof(int));
    30     printf("
    
    ");
    31     for (int i =0 ;i < sizeof(data)/sizeof(int) ;++i)
    32     {
    33         printf("%d ",data[i]);
    34     }
    35     printf("
    ");
    36     return 0;
    37 }
    ///每次排序找到最小的放到前面,与选择排序相比,冒泡排序多次打乱数组内的数据,也就是将数组中的值多次修改

    输出结果为:

    第1次排序后的结果 : -78  2  5  1  4  0  -3  59  3  62
    第2次排序后的结果 : -78  -3  2  5  1  4  0  3  59  62
    第3次排序后的结果 : -78  -3  0  2  5  1  4  3  59  62
    第4次排序后的结果 : -78  -3  0  1  2  5  3  4  59  62
    第5次排序后的结果 : -78  -3  0  1  2  3  5  4  59  62
    第6次排序后的结果 : -78  -3  0  1  2  3  4  5  59  62
    第7次排序后的结果 : -78  -3  0  1  2  3  4  5  59  62
    第8次排序后的结果 : -78  -3  0  1  2  3  4  5  59  62
    第9次排序后的结果 : -78  -3  0  1  2  3  4  5  59  62
    第10次排序后的结果 : -78  -3  0  1  2  3  4  5  59  62

    -78 -3 0 1 2 3 4 5 59 62
    请按任意键继续. . .
    To get,you have to give.To give,you need learn to insist.If you really find it is hard for you,then you quit.But once you quit.Don't complain.
  • 相关阅读:
    影院售票系统
    返璞归真
    【C++】【STL】【map】基础知识干货
    书签-技术类
    正则表达式-正则表达式校验金额最多保留两位小数
    winCommand-cmd杀死进程
    idea快捷键-总结
    接口封装-泛型方法、泛型接口、lambda表达式【类似ios传递block】
    treeMap-get返回null,因为比较器出问题
    git-linux一个月更新80万行代码,如何保证项目稳健?
  • 原文地址:https://www.cnblogs.com/hit-ycy/p/10852375.html
Copyright © 2020-2023  润新知