手机版

选择排序原理及Java实现

发布时间:2021-06-06   来源:未知    
字号:

选择排序原理及Java实现

选择排序(Selection Sort )分为两种 简单选择排序(Simple Selection Sort) 和树形选择排序。

简单选择排序(Simple Selection Sort):

简单选择排序类似于冒泡排序(Bubble Sort) ,每次都会在剩下的元素集合中选择出一个最值出来填充到当前位置。唯一的区别是,冒泡排序在每次发现比当前值小于(或大于)时,都会交换元素的位置, 而 简单选择排序是选择剩余元素中的最值和当前位置交换数据。

比如对于元素集合R={37, 40, 38, 42, 461, 5, 7, 9, 12} 在第一趟排序中:37直接和5交换, 形成新的序列

R1={5,40,38,42,461,37,7,9,12}

在第二趟排序中:40直接和7交换, 形成新的序列

R2={5,7,38,42,461,37,40,9,12}

以此类推,直到最后一个元素(注意:在第二趟排序中,38比42小,但是他们并没有交换数据)。

以下是简单选择排序的一个Java实现版本:

public static void selectionSort(int[] data) {

if (data == null || data.length <= 1)

return;

int i, j, value, minPos, len = data.length;

int outer = len - 1, tmp;

for (i = 0; i < outer; i++) {

value = data[i];

minPos = -1;

for (j = i + 1; j < len; j++) {

选择排序原理及Java实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)