简单的选择排序(内部排序)
1 /** 2 * 3 */ 4 package com.trfizeng.selectionsort; 5 6 /** 7 * @author trfizeng 内部排序 选择排序—简单选择排序(Simple Selection Sort) 8 */ 9 public class SimpleSelectionSort { 10 11 /** 12 * 每次选择一个最小记录放在前面去 13 */ 14 public static int[] simpleSelectionSort(int[] array) { 15 // 对传来的待排序数组进行合法验证 16 if (array != null && array.length != 0) { 17 for (int i = 0; i < array.length; i++) { 18 // 记录最小记录的下标 19 int k = i; 20 // 查找最小的记录 内层循环执行完将找到最小记录 21 for (int j = i + 1; j < array.length; j++) { 22 // 如果当前记录是比后面一个大的话就把后面一个下标赋给当前下标 23 if (array[k] > array[j]) { 24 k = j; 25 } 26 } 27 // 把最小记录与当前记录进行兑换 28 int temp = array[i]; 29 array[i] = array[k]; 30 array[k] = temp; 31 } 32 } 33 return array; 34 } 35 }
View Code
1 package com.trfizeng.test; 2 3 import com.trfizeng.insertionsort.StraightInsertionSort; 4 import com.trfizeng.selectionsort.SimpleSelectionSort; 5 6 /** 7 * 测试类 8 * 9 * @author trfizeng 10 * 11 */ 12 public class SortTest { 13 // 待排序数组 14 static int[] array = new int[] { 6, 1, 4, 10, 11, 8, 7, 1, 0 }; 15 16 /** 17 * 直接插入排序法测试 18 */ 19 public static void straightInsertionSortTest() { 20 System.out.print("待排序数组:[ "); 21 for (int i = 0; i < array.length; i++) { 22 System.out.print(array[i] + " "); 23 } 24 System.out.print("] "); 25 26 array = StraightInsertionSort.straightInsertionSort(array); 27 System.out.print("排好序的数组:[ "); 28 for (int i = 0; i < array.length; i++) { 29 System.out.print(array[i] + " "); 30 } 31 System.out.print("]"); 32 } 33 34 /** 35 * 选择排序 36 */ 37 public static void simpleSelectionSort() { 38 System.out.print("待排序数组:[ "); 39 for (int i = 0; i < array.length; i++) { 40 System.out.print(array[i] + " "); 41 } 42 System.out.print("] "); 43 44 array = SimpleSelectionSort.simpleSelectionSort(array); 45 System.out.print("排好序的数组:[ "); 46 for (int i = 0; i < array.length; i++) { 47 System.out.print(array[i] + " "); 48 } 49 System.out.print("]"); 50 51 } 52 53 public static void main(String[] args) { 54 // SortTest.straightInsertionSortTest(); 55 56 SortTest.simpleSelectionSort(); 57 58 } 59 }
View Code
转载于:https://www.cnblogs.com/trfizeng/p/4307723.html
简单的选择排序(内部排序)相关推荐
- 10-9-堆排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第10章 内部排序 - 堆排序 --<数据结构>-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码 ...
- 10-12-顺序表地址排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版...
课本源码部分 第10章 内部排序 - 顺序表地址排序 --<数据结构>-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴伟民版) ...
- 10-10-归并排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第10章 内部排序 - 归并排序 --<数据结构>-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴伟民版)课本源 ...
- 10-11-基数排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第10章 内部排序 - 基数排序 --<数据结构>-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ <数据结构-C语言版>(严蔚敏,吴伟民版)课本源 ...
- 【数据结构(C语言)】数据结构-内部排序
内部排序 文章目录 内部排序 一.概述 (1)排序定义 (2)稳定性 (3)内部排序和外部排序 (4)两种基本操作 (5)数据类型定义 二.分类 (1)插入排序 (2)交换排序 (3)选择排序 (4) ...
- 数据结构-考研难点代码突破(C/C++/Java排序算法,性能及其稳定性分析(内部排序))
文章目录 1. 内部排序的基本种类 2. 插入排序 Ⅰ直接插入排序 性能与稳定性分析 Ⅱ 折半插入排序 性能与稳定性分析 Ⅲ 希尔排序 性能与稳定性分析 3. 交换排序 Ⅰ 冒泡排序 性能与稳定性分析 ...
- C语言——十四种内部排序算法【直接插入排序-冒泡排序-选择排序-插入排序-希尔排序-归并排序-快速排序-堆排序-折半插入排序-二分查找-路插入排序-表插入排序-简单选择排序-直接选择排序-树形选择】
目录: 一:插入排序 A:直接插入排序 1.定义: 2.算法演示 实例1: 3.基本思想 4.排序流程图 实例1: B:希尔排序 1.定义: 2.算法演示 实例2: C:其他插入排序 a:折半插入排序 ...
- 数据结构排序算法 内部排序(冒泡、鸡尾酒、选择、简单插入、二分插入、快排、希尔、归并、堆排)C语言实现
文章目录 排序 冒泡排序 鸡尾酒排序 选择排序: 简单插入排序: 二分插入排序 快速排序: 希尔排序: 归并排序: 堆排序: 排序 点击以下图片查看大图: 冒泡排序 1.比较相邻的元素,如果前一个比后 ...
- 对以下6种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。
题目要求: (1)对以下6种常用的内部排序算法进行比较:起泡排序.直接插入排序.简单选择排序.快速排序.希尔排序.堆排序. (2)待排序表的表长不小于100:其中的数据要用伪随机数产生程序产生:至少要 ...
最新文章
- 限制input输入小数只能到3位或者只能输入正整数(兼容ios)
- G502使用计算机配置,解决方案:Logitech G502宏设置教程方法
- 谈中型项目下的编码技巧二
- 使用grep 在源码文件查找特定字符串
- Session.Abandon和Session.Clear有何不同
- POJ 1836 Alignment
- React中antd的按需引入+自定主题
- 银行不告诉的秘密,看完豁然大悟
- LeetCode 1980. 找出不同的二进制字符串
- 五款程序员专用辅助编程工具
- LeetCode —— 145. 二叉树的后序遍历【递归与迭代】(Python)
- EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
- Spring : Spring 事务控制 设置手动回滚 TransactionAspectSupport
- 熊猫支持html5么,Steam疯狂周三特惠推荐:你给我看大熊猫,我就给你钱
- python程序字符串中字符排序_python字符串排序方法
- 完整且易读的微信小程序的注册页面(包含倒计时验证码、获取用户信息)
- android sqlite 打包 xe,Delphi XE使用SQLite3
- PowerShell抓取电脑序列号
- 菜鸟教程首页制作html5
- Windows10怎么样添加并设置为卓越性能模式