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     }

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

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

    面朝大海,春暖花开。
  • 相关阅读:
    运算符优先级问题
    文件操作工具,需者自取
    Text文档编码识别方法
    删除重复文件的程序
    修道士和野人问题
    猜数字游戏
    存储器层级图
    IL指令汇总
    输入1~8,每个数字不重复
    厦门大学线下编程比赛第一题:求和
  • 原文地址:https://www.cnblogs.com/HapLe0/p/5695087.html
Copyright © 2011-2022 走看看