zoukankan      html  css  js  c++  java
  • 请描述一下冒泡排序?

    【思路】冒泡排序的思想是始终将第一位存放最小值(或最大值,此文以最小值举例),一旦遇到比默认的最小值还小的,则将那个更小的放到第一位作为最小值与其他值继续比较。同理存放第二位以及之后的位置。

    代码:

     1 public static void main(String[] args) {
     2         int[] a = {4,3,5,6,1,7,2,8,9};
     3         int temp;
     4         
     5         for (int i = 0; i < a.length; i++) {  
     6             for (int j = i+1; j < a.length; j++) {
     7                 
     8                 if(a[j]<a[i]){
     9                     temp = a[i];
    10                     a[i] = a[j];
    11                     a[j] = temp;
    12                 }
    13                 
    14             }
    15         }
    16         
    17         //输出排序后的数组
    18         for (int i = 0; i < a.length; i++) {
    19             System.out.print(a[i]+ " ");
    20         }
    21 
    22     }

    代码非常简单,也很早就知道怎么写,但是面试的时候要求讲解一下,突然有点不知所措,才发觉一直没有理解,只是以为理解了而已。

    主要在于:是某个位置上的值在与其后面的位置上的值比较大小,当值调换之后,仍然是这个位置上的值与剩下的值作比较,直到这一轮比较结束。

    面朝大海,春暖花开。
  • 相关阅读:
    idea设置docker远程插件
    Linux安装nfs共享文件
    类文件注释规约
    标准pcm数据(正弦波、方波、三角波)解读
    dB分贝计算
    Ion内存的带cahce与不带cache问题分享
    c++智能指针介绍_补充
    c++智能指针介绍
    wav封装格式
    开博啦。。。
  • 原文地址:https://www.cnblogs.com/HapLe0/p/5695087.html
Copyright © 2011-2022 走看看