zoukankan      html  css  js  c++  java
  • 冒泡排序

    冒泡排序算是最基础的一种排序方式了。

    它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。重复此操作,直到整个数列都有序为止!

    冒泡排序在数据量少的时候使用比较合适。冒泡排序的时间复杂度是O(N2)

    C++

     1 #include<iostream>
     2 using namespace std;
     3 
     4 template<class T>
     5 int length(T& arr)
     6 {
     7     return sizeof(arr) / sizeof(arr[0]);
     8 }
     9 
    10 void print(int * const src ,const int src_lenght)
    11 {
    12     for(int i = 0 ;i<src_lenght;i++)
    13         cout<<src[i]<<"  ";
    14 
    15     cout<<endl;
    16 }
    17 
    18 int * Bubble_sort(int * const src ,const int src_lenght)
    19 {
    20     int tmp;
    21     for(int i = 0;i<src_lenght-1;i++)
    22         for(int j = 0;j<src_lenght-i-1;j++)
    23             if(src[j]>src[j+1])
    24             {
    25                 tmp = src[j];
    26                 src[j] = src[j+1];
    27                 src[j+1] = tmp;
    28                 //print(src ,src_lenght);
    29             }    
    30     return src;
    31 }
    32 
    33 int main()
    34 {
    35     int a[10] = {161,-6,24,31,44,9,0,1,-4,65};
    36     Bubble_sort(a,length(a));
    37     print(a,length(a));
    38 
    39     return 0;
    40 }

    python

    1 def bubbleSort(src):
    2     for i in range(len(src) - 1):
    3         for j in range(len(src) - 1 - i):
    4             if (src[j] > src[j + 1]):
    5                 src[j], src[j + 1] = src[j + 1], src[j]
    6     return src
    7 
    8 a = [6,8,1,0,3,4,5]
    9 print(bubbleSort(a))
  • 相关阅读:
    深度学习中的Data Augmentation方法(转)基于keras
    caffe pytho接口
    finetuning caffe
    windows下配置Faster-RCNN
    caffe中的props
    centos上搭建git服务--3
    centos上搭建git服务--2
    Centos上搭建git服务
    loadrunner--基础2
    loadrunner11--基础使用
  • 原文地址:https://www.cnblogs.com/xswl/p/10082112.html
Copyright © 2011-2022 走看看