博客
关于我
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/

    你可能感兴趣的文章
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA让企业业务流程管理科学有“据”
    查看>>
    OA项目之我的会议(会议排座&送审)
    查看>>
    OA项目之我的会议(查询)
    查看>>
    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
    查看>>
    object detection错误之no module named nets
    查看>>
    Object of type 'ndarray' is not JSON serializable
    查看>>
    Object Oriented Programming in JavaScript
    查看>>
    object references an unsaved transient instance - save the transient instance before flushing
    查看>>
    Object.keys()的详解和用法
    查看>>
    OBJECTIVE C (XCODE) 绘图功能简介(转载)
    查看>>
    Objective-C ---JSON 解析 和 KVC
    查看>>
    Objective-C 编码规范
    查看>>