排序算法一:选择排序
回顾一下选择排序工作原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾
public static void selectionSort(int[] arr) {if (arr == null || arr.length < 2) {return;}for (int i = 0; i < arr.length - 1; i++) {int minIndex = i;for (int j = i + 1; j < arr.length; j++) {minIndex = arr[j] < arr[minIndex] ? j : minIndex;}swap(arr, i, minIndex);}}public static void swap(int[] arr, int i, int j) {int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}
排序算法一:选择排序相关推荐
- python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...
- 算法设计与分析——十大经典排序算法一(1--5)
目录 算法设计与分析--十大经典排序算法 第1关:冒泡排序 参考代码 第2关:选择排序 参考代码 第3关:插入排序 参考代码 第4关:希尔排序 参考代码 第5关:归并排序 参考代码 作者有言 一个不知 ...
- 程序员内功修炼之学好算法和数据结构(一)排序基础、选择排序、插入排序、希尔排序...
一.排序基础(重要) 1.1 为什么要学习O(n^2)的排序算法? 编码简单,易于实现,是一些简单情景的首选. 在一些特殊情况下,简单的排序算法更有效. 简单的排序算法思想衍生出复杂的排序算法,在这个 ...
- python八大选择排序_Python实现选择排序
选择排序: 选择排序(Selection sort)是一种简单直观的 排序算法 .它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最 ...
- 排序---初级排序算法(选择排序、插入排序和希尔排序)
写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera Algorithms Part1&2 本文 ...
- java中的排序算法——简单选择排序,树形选择排序与堆排序(一)
package com.sort; /** * 选择排序: * 简单选择排序,树形选择排序与堆排序 * */ public class SelecSortDemo { /** * ----- ...
- 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试
案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...
- 排序算法 | 直接选择排序,算法的图解、实现、复杂度和稳定性分析
排序算法 | 直接选择排序,算法的图解.实现.复杂度和稳定性分析 目录 1.直接选择排序的原理 2.图解直接选择排序 3.算法代码实现 4.算法复杂度分析.稳定性分析 直接选择排序 1.直接选择排序的 ...
- 简单排序——冒泡排序,选择排序,插入排序,对象排序
2019独角兽企业重金招聘Python工程师标准>>> 1)冒泡排序 package sort; /** * 冒泡排序,每次把数组最大值送到未排序部分的最末端 * @author ...
- 堆排序算法c语言筛选法,【排序】排序算法之选择排序
排序算法之选择排序 罗朝辉(http://www.cppblog.com/kesalin) 转载请注明出处 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行 ...
最新文章
- OpenCV 图像加载和显示
- mysql 按重复排序_php-按日期排序并允许重复的日期时,获取MySQL中的上一个和下一个记录...
- 由JS函数返回值引发的一场”血案
- 点击页面元素,这个Vite插件竟然帮我打开了Vue组件文件!超级好用!
- 在网络虚拟化之前部署NFV将使运营商网络面临风险
- setTimeout() 与 setInterval() 异同
- js图片 area 颜色_JS提取图片的主体颜色
- 机器学习入门之——动手演示线性模型无法表示的XOR问题
- spring web.xml配置服务启动后执行文件
- 钉钉webhook小笔记
- java基于ssm+vue的高校会议预约系统 elementui
- Psychological Bulletin:社会认知的层次模型
- SAP HR 导出PA0185 身份证件信息
- python拼多多推广多店爬虫
- html+css+js 简易笔记
- 在Gtalk中和你的msn,yahoo,icq/aim,qq好友聊天
- 网页被劫持跳转怎么办?发布网修复方法
- Servlet 原理
- AI-多模态-2021:ALBEF
- 互联网创业的准备——架构
热门文章
- eclipse 创建maven web项目
- iOS 2D绘图详解(Quartz 2D)之概述
- UIView层次管理(sendSubviewToBack,bringSubviewToFront)
- java度量页面_JAVA Metrics 度量工具使用介绍1
- LNMP环境搭建(二)集成Nginx与PHP
- boost库 tbb_boost库常用库介绍
- spi flash 无法写入数据_非易失性Flash详解
- 轮播图最后一张图结束如何平缓回到第一张_产品经理早期如何学习?
- 写入位置 0x00000004 时发生访问冲突_HDFS读取和写入数据简介
- opencv java match_Java OpenCV-从knnMatch提取匹配项