算法之排序算法-选择排序与优化
package com.ebiz.sort;import java.text.SimpleDateFormat; import java.util.Date;/*** @author YHj* @create 2019-07-28 20:58* 选择排序*/ public class Choose {public static void main(String[] args) {int[] arr = new int[80000];for (int i = 0; i < 80000; i++) {arr[i] = (int) (Math.random() * 800000);}String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());System.out.println("排序前 = " + s);getResult(arr);String l = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());System.out.println("排序后 = " + l);}public static void getResult(int[] arr) {for (int i = 0; i < arr.length-1; i++) {int min=arr[i]; //假设为最小值int minIdex=i; //最小值的索引for (int j = i+1; j <arr.length; j++) {if (min>arr[j]){//找到最小值以及最小值的位置min=arr[j];minIdex=j;}}//如果不是一开始的位置不进行交换 优化if (minIdex != i) {arr[minIdex]=arr[i];arr[i]=min;}}}}
待完善...
转载于:https://www.cnblogs.com/jiushixihuandaqingtian/p/11299207.html
算法之排序算法-选择排序与优化相关推荐
- 输入法按照选字频率排序的C语言程序算法,算法与数据结构之选择排序(C语言)...
#include #include void SelectSort(int *a,int n);//预声明要调用的函数 int main(void) { int k; int x[]={,,,,,,, ...
- 算法一之简单选择排序
一. 选择排序的思想 选择排序的基本思想是:每一趟在n-i+1(i=1,2,-n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录.基于此思想的算法主要有简单选择排序.树型选择排序和堆排序. ...
- 十大排序算法:冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序
冒泡排序.选择排序.插入排序.希尔排序.归并排序.快速排序.堆排序.计数排序.桶排序.基数排序的动图与源代码. 目录 关于时间复杂度 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 ...
- 排序算法(分类,时间复杂度)(快速排序,插入排序,希尔排序,选择排序,冒泡排序)
1.排序算法 1.排序的分类 分为内部排序和外部排序,其中内部排序分为插入排序.选择排序.交换排序.归并排序和基数排序.插入排序包括直接插入排序和希尔排序:选择排序包括简单选择排序和堆排序:交换排序包 ...
- C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】
目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...
- java 排序_Java中常见的排序算法有哪些?---选择排序
排序相关的的基本概念 排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域, 即多个数据 ...
- java中queue排序_Java中常见的排序算法有哪些?---选择排序
排序相关的的基本概念 排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域, 即多个数据 ...
- 数据结构—排序算法总结(插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、合并排序、计数排序)
*排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作. 稳定性 在待排序的数组中,如果出现多个相同的关键字,例如:98751555512,中出现重复的数字,在 ...
- 【简单排序算法】:简单选择排序、直接插入排序和冒泡排序
[简单排序算法]:简单选择排序.直接插入排序和冒泡排序 简单选择排序: 原理:设所排序序列的记录个数为n.i取1,2,-,n-1,每次从所有n-i+1个记录(Ri,Ri+1,-,Rn)中找出最小的记录 ...
- 蛮力法查找有序数列c语言,算法——蛮力法之选择排序和冒泡排序c++实现
这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出 ...
最新文章
- 最强的Attention函数诞生啦,带给你意想不到的巨大提升!
- 2021暑假实习-SSM超市积分管理系统-day10笔记
- feign-hystrix的使用
- 注意职场“十不要”,让你少奋斗30年
- matlab用之前的计算结果递归,[转载]Matlab正则表达式(递归、匹配上下文等)(转载)...
- Google文件系统(GFS)翻译学习
- maven-3.5.3通过eclipse打包问题(1)
- C语言-99乘法表-正倒三角
- 美图大咖-电商图片处理软件
- 2020安徽省程序设计省赛知识点
- npm install --save-dev
- 防关联浏览器有哪些浏览器(浏览器防关联软件分析)
- android钛备份功能源码,TitaniumBackup钛备份专业增捐赠版 — 安卓备份神器
- 关于SE54视图簇的创建和维护
- Java-Mybatis(二): Mybatis配置解析、resultMap结果集映射、日志、分页、注解开发、Mybatis执行流程分析
- android滚动广告图片素材,安卓手机宣传视频制作软件如何在视频底部添加一行滚动的广告语?视频加滚动水印...
- 新手怎么加入自媒体?新手入门其实很简单
- 计算机组成原理_实验三:主存储器原理实验
- 华为设备VXLAN配置举例
- 综述:演化遗传学发展历史简介
热门文章
- python tkinter button颜色变不了_tkinter多按钮颜色变化
- wordpress 添加小工具分类
- .Net (C#)委托和事件(获取多个返回值)
- cocos2dx libevent简介和使用
- [react] React16新特性有哪些?
- [react] 函数式组件有没有生命周期?为什么?
- [react] constructor和getInitialState有不同?
- 重学java基础第八课:硬件和冯洛伊曼系统
- 前端学习(3289):react hook state-hook
- [css] 请说下你对css对象模型(CSSOM)的理解