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

本文共 711 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2.0四种模式的详解
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    oauth2登录认证之SpringSecurity源码分析
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA让企业业务流程管理科学有“据”
    查看>>
    OA项目之会议通知(查询&是否参会&反馈详情)
    查看>>
    Vue.js 学习总结(13)—— Vue3 version 计数介绍
    查看>>
    OA项目之我的会议(会议排座&送审)
    查看>>
    OA项目之我的会议(查询)
    查看>>
    OA项目之我的审批(会议查询&会议签字)
    查看>>
    OA项目之项目简介&会议发布
    查看>>
    ObjC的复制操作
    查看>>
    Object c将一个double值转换为时间格式
    查看>>
    object detection之Win10配置
    查看>>
    object detection训练自己数据
    查看>>
    object detection错误Message type "object_detection.protos.SsdFeatureExtractor" has no field named "bat
    查看>>
    object detection错误之Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
    查看>>