博客
关于我
Java几种常见排序算法与代码实现
阅读量:173 次
发布时间:2019-02-28

本文共 698 字,大约阅读时间需要 2 分钟。

排序算法是编程中经常遇到的问题,也是校招、春招、社招中常见的面试题。虽然每次复习后可能会遗忘,但隔一段时间再复习一次还是很有帮助的。排序的方式主要分为内部排序和外部排序。内部排序仅使用内存完成,适合数据量不大的情况;而外部排序需要使用外部存储,当数据量太大时才适用。本文将介绍几种常见的内部排序算法,后续可以复习更多算法。

冒泡排序

冒泡排序通过逐次遍历数组,获取最大值或最小值,并将其移动到数组的末尾或开头。具体步骤如下:

  • 外层循环遍历数组,遍历次数等于数组的长度减一。
  • 内层循环从当前外层循环的起始位置开始,向右遍历,比较相邻元素。
  • 如果当前元素大于后一个元素,则交换它们的位置。
  • 内层循环完成后,最大值会被移动到当前位置的末尾。
  • 代码实现:

    public static void main(String[] args) {    int arr[] = {8, 5, 3, 2, 4};    for (int i = 0; i < arr.length; i++) {        for (int j = 0; j < arr.length - i - 1; j++) {            if (arr[j] > arr[j + 1]) {                int temp = arr[j + 1];                arr[j + 1] = arr[j];                arr[j] = temp;            }        }    }}

    排序过程示例:输入数组:8,5,3,2,4输出结果:1,2,3,5,8

    转载地址:http://hvuj.baihongyu.com/

    你可能感兴趣的文章
    osgearth介绍
    查看>>
    OSGi与Maven、Eclipse PlugIn的区别
    查看>>
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG中的智能指针
    查看>>
    OSG学习:OSG组成(一)——组成模块
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>
    OSG学习:OSG组成(二)——场景树
    查看>>
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>
    OSG学习:WIN10系统下OSG+VS2017编译及运行
    查看>>
    OSG学习:人机交互——普通键盘事件:着火的飞机
    查看>>
    OSG学习:几何体的操作(一)——交互事件、简化几何体
    查看>>
    OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
    查看>>
    OSG学习:几何对象的绘制(一)——四边形
    查看>>
    OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
    查看>>
    OSG学习:几何对象的绘制(二)——简易房屋
    查看>>
    OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
    查看>>
    OSG学习:场景图形管理(一)——视图与相机
    查看>>