数据结构:选择排序(Selection sort)
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)相关推荐
- C语言选择排序Selection sort算法(附完整源码)
选择排序Selection sort算法 选择排序Selection sort算法的完整源码(定义,实现,main函数测试) 选择排序Selection sort算法的完整源码(定义,实现,main函 ...
- 【排序算法】选择排序(Selection sort)
选择排序(Selection sort)是一种简单直观的排序算法. 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置:接着,再从剩余未排序的元 ...
- 选择排序--Selection sort
原理 选择排序,是冒泡排序的优化. 每一趟只交换一次.就是选择最大(或者最小的)和首位交换. 例子 现有无序数组[6 5 4 1 8 9] 第一趟找到最小数1,放到最前边(与首位数字交换) 交换前:| ...
- 排序之选择排序(Selection sort)
文章目录 1 基本思想 2 图示 3 代码 4 测试结果 5 时间复杂度及稳定性 以前了解过的排序算法,发现长时间不用之后,有些遗忘,特此记录一下,待遗忘时候可以再查阅一下 1 基本思想 N个数据,每 ...
- 数据结构-选择排序(简单选择排序,堆排序)
目录 1,简单选择排序 1.1,简单选择排序思想 1.2,选择排序的时间复杂度分析 1.3,简单选择排序代码实现 2,堆排序 2.1,什么是堆排序 2.2,堆排序的思想 2.3,堆排序时间复杂度分析 ...
- 数据结构------选择排序
数据结构------选择排序 原理:参考趣学数据结构 代码: #include<stdio.h> #include<stdlib.h> void simpleSelectSor ...
- 内部排序 (四):选择排序 Selection Sorting (简单选择排序、堆排序)
作为数据结构的课程笔记,以便查阅.如有出错的地方,还请多多指正! 目录 简单选择排序 Simple Selection Sort 排序过程 算法实现 算法评价 T(n) S(n) 是否稳定 堆排序 H ...
- python算法与数据结构-选择排序算法(33)
阅读目录 一.选择排序的介绍 二.选择排序的原理 三.选择排序的图解 四.选择排序总结 五.选择排序的python代码实现 六.选择排序的C语言代码实现 七.选择排序的时间复杂度 八.选择排序的稳定性 ...
- 数据结构---选择排序(直接选择排序和堆排序图解)
选择排序思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 . 直接选择排序 在元素集合array[i]–array[n-1]中选择关 ...
最新文章
- 桌面上的计算机打开速度慢,电脑开机进入桌面特别慢
- 2.6_Database Interface JDBC及驱动类型
- 设计模式系列·王小二需求历险记(一)
- ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
- golang go语言_在7小时内学习快速简单的Go编程语言(Golang)
- pat根据中序遍历和先序遍历_[leetcode/lintcode 题解] 前序遍历和中序遍历树构造二叉树...
- Windows判断是否为64位程序(C++)
- kettle清洗mysql数据_ETL工具Kettle使用以及与Java整合实现数据清洗
- 基于JAVA+SpringBoot+Mybatis+Vue+MYSQL的在线考试系统
- luogu P4843 清理雪道
- Linux 下的静态(函数)库、动态(函数)库
- vue三种常用获取input值方法
- PHP导出MySQL数据字典 Summer-Mysql-Dic
- 2017.11.18
- CloudFlare Workers 设置使用自定义域名
- ajax四个常用参数,ajax 常用参数
- 地磅称重管理系统智能称重——称重软件必备的10大功能
- 51单片机c语言除法符号,单片机c语言教程:C51运算符和表达式
- “单词竞猜游戏之管理员端”补充版
- 环保制作废物利用计算机,生活中的“废物利用”大全!(环保、实用)