• 常见算法之冒泡排序


    冒泡排序由于其简单,通常是我们学习各类编程语言首先选择学习的一个排序算法。

    Java版:

     1 public class BubbleSort {
     2     public static void main(String[] args) {
     3         // 创建一个数组,这个数组元素是乱序的
     4         int[] array = { 666, 8, 28, 66, 86, 68 };
     5         // 创建冒泡排序类的对象
     6         BubbleSort sorter = new BubbleSort();
     7         // 调用排序方法将数组排序
     8         sorter.sort(array);
     9     }
    10     /**
    11      * 冒泡排序
    12      * 要排序的数组
    13      */
    14     public void sort(int[] array) {
    15         for (int i = 1; i < array.length; i++) {
    16             // 比较相邻两个元素,较大的数往后冒泡
    17             for (int j = 0; j < array.length - i; j++) {
    18                 if (array[j] > array[j + 1]) {
    19                     int temp = array[j];// 把第一个元素值保持到临时变量中
    20                     array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中
    21                     array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
    22                 }
    23             }
    24         }
    25         showArray(array);// 输出冒泡排序后的数组元素
    26     }
    27     // 显示数组所有元素
    28     public void showArray(int[] array) {
    29         for (int i : array) {// foreach格式遍历数组
    30             System.out.print(" >" + i);// 输出每个数组元素值
    31         }
    32         System.out.println();
    33     }
    34

    C++版:

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int Arr[] = { 1, 4, 5, 3, 6, 2, 9, 7, 8 };
     7     cout<<"排序前:";
     8     for(int i = 0; i < sizeof(Arr)/4; i++)
     9         cout << Arr[i] << " ";
    10     cout << endl;
    11     for(int i = 1; i < sizeof(Arr)/4; i++)
    12         for(int j = 0; j<sizeof(Arr)/4 - i; j++)
    13         {
    14             if(Arr[j] > Arr[j+1])
    15             {
    16                 int temp = Arr[j];
    17                 Arr[j] = Arr[j + 1];
    18                 Arr[j + 1] = temp;
    19             }
    20         }
    21     cout<<"排序后:";
    22     for(int i = 0; i < sizeof(Arr)/4; i++)
    23         cout << Arr[i] << " ";
    24     getchar();
    25     getchar();
    26     return 0;
    27 }

    作者:耑新新,发布于  博客园

    转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

  • 相关阅读:
    微信小程序 原生框架 (分享方法封装)
    JavaScript 正则表达式学习笔记
    JavaScript Date
    JavaScript String
    JavaScript Array
    前端开发缓存问题的解决方案
    参数验证
    html中的关于距离的总结大全
    Vuex的辅助函数mapState, mapActions, mapMutations用法
    Vue的内置组件transition
  • 原文地址:https://www.cnblogs.com/Arthurian/p/7577169.html
Copyright © 2020-2023  润新知