算法-选择排序

简介: 选择排序是一种排序算法,它在每次迭代中从未排序列表中选择最小元素,并将该元素放在未排序列表的开头。

选择排序是一种排序算法,它在每次迭代中从未排序列表中选择最小元素,并将该元素放在未排序列表的开头。

一、选择排序的步骤

1. 将第一个元素设置为最小元素

  1. 将最小元素与第二个元素进行比较。如果第二个元素小于最小元素,则将第二个元素指定为最小元素。与第三个元素进行比较。m同样,如果第三个元素较小,则修改第三个元素为最小元素,否则什么也不做。该过程一直持续到最后一个元素。

  1. 每次迭代后,最小元素被放置在未排序列表的前面。

  1. 对于每次迭代,索引从第一个未排序的元素开始。重复步骤 1 到 3,直到所有元素都放置在正确的位置。

JAVA代码实现选择排序算法

importjava.util.Arrays;
classSelectionSort {
voidselectionSort(intarray[]) {
intsize=array.length;
for (intstep=0; step<size-1; step++) {
intmin_idx=step;
for (inti=step+1; i<size; i++) {
if (array[i] <array[min_idx]) {
min_idx=i;
        }
      }
// put min at the correct positioninttemp=array[step];
array[step] =array[min_idx];
array[min_idx] =temp;
    }
  }
publicstaticvoidmain(Stringargs[]) {
int[] data= { 20, 12, 10, 15, 2 };
SelectionSortss=newSelectionSort();
ss.selectionSort(data);
System.out.println(Arrays.toString(data));
  }
}


相关文章
|
2月前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
21 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
2月前
|
搜索推荐 Java Go
深入了解选择排序算法
深入了解选择排序算法
25 4
|
2月前
|
搜索推荐 算法
【排序算法(一)】——插入排序,选择排序 —> 深层解析
【排序算法(一)】——插入排序,选择排序 —> 深层解析
|
2月前
|
算法 Python
Python算法编程:冒泡排序、选择排序、快速排序
Python算法编程:冒泡排序、选择排序、快速排序
|
4月前
|
搜索推荐 算法 Java
经典排序算法之-----选择排序(Java实现)
这篇文章通过Java代码示例详细解释了选择排序算法的实现过程,包括算法的基本思想、核心代码、辅助函数以及测试结果,展示了如何通过选择排序对数组进行升序排列。
经典排序算法之-----选择排序(Java实现)
|
6月前
|
机器学习/深度学习 算法 搜索推荐
数据结构算法--2 冒泡排序,选择排序,插入排序
**基础排序算法包括冒泡排序、选择排序和插入排序。冒泡排序通过相邻元素比较交换,逐步将最大值“冒”到末尾,平均时间复杂度为O(n^2)。选择排序每次找到剩余部分的最小值与未排序部分的第一个元素交换,同样具有O(n^2)的时间复杂度。插入排序则类似玩牌,将新元素插入到已排序部分的正确位置,也是O(n^2)复杂度。这些算法适用于小规模或部分有序的数据。**
|
6月前
|
搜索推荐
排序算法---选择排序-----详解&&代码
排序算法---选择排序-----详解&&代码
|
6月前
|
算法 搜索推荐
数据结构与算法-选择排序
数据结构与算法-选择排序
33 4
|
6月前
|
搜索推荐 算法
【C/排序算法】:堆排序和选择排序
【C/排序算法】:堆排序和选择排序
36 0
|
6月前
|
算法 搜索推荐 Java
JavaSE——算法(1/2):认识、冒泡排序、选择排序及优化(介绍、详细图解、代码)
JavaSE——算法(1/2):认识、冒泡排序、选择排序及优化(介绍、详细图解、代码)
39 0