package com.sortbasic;import java.util.Random;public class SelectionSortGenerate {// 数组private static int[] arr = null;// 随机生成数组// 生成有n个元素的随机数组,每个元素的随机范围为[rangeL, rangeR]public static int[] generateRandomArray(int n, int rangeL, int rangeR){int[] arr = new int[n];for(int i=0;i<n;i++){arr[i] = new Random().nextInt(rangeR-rangeL)+rangeL;}return arr;}// 选择排序static void selectionSort(int arr[], int n){for(int i=0;i<n;i++){// 寻找[i,n)区间里的最小值int minIndex = i;for(int j=i+1; j<n; j++){if(arr[j] < arr[minIndex]){minIndex = j;}}int temp  = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}// 打印数组static void printArray(int arr[], int n) {for(int i=0; i<n; i++){System.out.println(arr[i]+" ");}}public static void main(String[] args){arr = generateRandomArray(100, 0, 10000);selectionSort(arr,100);printArray(arr,100);}
}

数据结构:选择排序(Selection sort)相关推荐

  1. C语言选择排序Selection sort算法(附完整源码)

    选择排序Selection sort算法 选择排序Selection sort算法的完整源码(定义,实现,main函数测试) 选择排序Selection sort算法的完整源码(定义,实现,main函 ...

  2. 【排序算法】选择排序(Selection sort)

    选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...

  3. 选择排序--Selection sort

    原理 选择排序,是冒泡排序的优化. 每一趟只交换一次.就是选择最大(或者最小的)和首位交换. 例子 现有无序数组[6 5 4 1 8 9] 第一趟找到最小数1,放到最前边(与首位数字交换) 交换前:| ...

  4. 排序之选择排序(Selection sort)

    文章目录 1 基本思想 2 图示 3 代码 4 测试结果 5 时间复杂度及稳定性 以前了解过的排序算法,发现长时间不用之后,有些遗忘,特此记录一下,待遗忘时候可以再查阅一下 1 基本思想 N个数据,每 ...

  5. 数据结构-选择排序(简单选择排序,堆排序)

    目录 1,简单选择排序 1.1,简单选择排序思想 1.2,选择排序的时间复杂度分析 1.3,简单选择排序代码实现 2,堆排序 2.1,什么是堆排序 2.2,堆排序的思想 2.3,堆排序时间复杂度分析 ...

  6. 数据结构------选择排序

    数据结构------选择排序 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> void simpleSelectSor ...

  7. 内部排序 (四):选择排序 Selection Sorting (简单选择排序、堆排序)

    作为数据结构的课程笔记,以便查阅.如有出错的地方,还请多多指正! 目录 简单选择排序 Simple Selection Sort 排序过程 算法实现 算法评价 T(n) S(n) 是否稳定 堆排序 H ...

  8. python算法与数据结构-选择排序算法(33)

    阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...

  9. 数据结构---选择排序(直接选择排序和堆排序图解)

    选择排序思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 . 直接选择排序 在元素集合array[i]–array[n-1]中选择关 ...

最新文章

  1. 桌面上的计算机打开速度慢,电脑开机进入桌面特别慢
  2. 2.6_Database Interface JDBC及驱动类型
  3. 设计模式系列·王小二需求历险记(一)
  4. ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
  5. golang go语言_在7小时内学习快速简单的Go编程语言(Golang)
  6. pat根据中序遍历和先序遍历_[leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树...
  7. Windows判断是否为64位程序(C++)
  8. kettle清洗mysql数据_ETL工具Kettle使用以及与Java整合实现数据清洗
  9. 基于JAVA+SpringBoot+Mybatis+Vue+MYSQL的在线考试系统
  10. luogu P4843 清理雪道
  11. Linux 下的静态(函数)库、动态(函数)库
  12. vue三种常用获取input值方法
  13. PHP导出MySQL数据字典 Summer-Mysql-Dic
  14. 2017.11.18
  15. CloudFlare Workers 设置使用自定义域名
  16. ajax四个常用参数,ajax 常用参数
  17. 地磅称重管理系统智能称重——称重软件必备的10大功能
  18. 51单片机c语言除法符号,单片机c语言教程:C51运算符和表达式
  19. “单词竞猜游戏之管理员端”补充版
  20. 环保制作废物利用计算机,生活中的“废物利用”大全!(环保、实用)

热门文章

  1. 关于PIC和FPGA
  2. 如何改变数据库存储引擎
  3. C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什...
  4. EM 期望最大化算法
  5. 修改Servlet再运行无效
  6. 携程CEO称成功来自传统营销 B2C已经过时
  7. 微信小程序-控制文本只显示若干行多余隐藏
  8. cocos2d-x学习笔记(十)android自动化打包bat脚本
  9. 解决linux ssh客户端SSH连接linux服务器很慢的问题
  10. cxf开发Restful Web Services