转载:
http://blog.chenlb.com/2008/12/select-sort-for-java.html
简单选择排序(Select Sort),java版。
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.
原文出处:http://blog.chenlb.com/2008/12/select-sort-for-java.html
常用的简单排序方法中,除插入排序、冒泡排序,还有简单选择排序(有时候也直接说成是选排序)。
简单选择排序原理:从无序区域里选择最小(或最大)的添加到有序区里。一开始所有的数据都是在无序区里,排好一个,无序区个数就少一个。
时间复杂度:平均O(n2),最坏情况O(n2)。
示例代码:
- package com.chenlb.sort;
-
- import java.util.Arrays;
-
- public class SelectSort {
-
- public static int[] sort(int[] datas) {
- for(int i=0; i<datas.length-1; i++) {
- int minIndex = i;
- int min = datas[i];
- for(int j=i+1; j< datas.length; j++) {
- if(datas[j] < min) {
- minIndex = j;
- min = datas[j];
- }
- }
- if(minIndex != i) {
- SortUtil.swap(datas, i, minIndex);
- }
- }
- return datas;
- }
-
- public static void main(String[] args) {
- int[] datas = {5,1,3,4,9,2,7,6,5};
- sort(datas);
- System.out.println(Arrays.toString(datas));
-
- datas = SortUtil.randomDates(10);
- sort(datas);
- System.out.println(Arrays.toString(datas));
- }
-
- }
运行结果:
- [1, 2, 3, 4, 5, 5, 6, 7, 9]
- [67, 81, 122, 394, 452, 509, 533, 536, 608, 861]
分享到:
相关推荐
用java实现选择排序SelectSort 用java实现选择排序SelectSort 用java实现选择排序SelectSort
选择排序的Java实现方法SelectSort,简单易懂,适合算法初学者。
在Java中,我们可以创建一个名为`SelectSort`的类,包含一个名为`selectSort`的静态方法,该方法接受一个整数数组作为参数,并对其进行选择排序。 ```java public class SelectSort { public static void select...
- 在`SelectSortDemo`这个文件中,你可能会看到一个名为`selectSort`的方法,它接受一个整数数组作为参数,然后执行上述的选择排序步骤。 - 方法通常会包含一个外层循环,用于控制遍历的次数,等于数组长度减一。 ...
"Select Sort"是一种简单的排序算法,它的工作原理是通过重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序...
做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,3种算法在源包中的sorts文件夹下,分别为: ...SelectSort.java(简单选择排序)
selectsort_cpp(选择排序).cpp
选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种排序算法适用于小规模数据的排序,对于大...
Java 八大排序是 Java 语言中八种常用的排序算法,分别是直接插入排序、希尔排序、简单选择排序、冒泡排序、快速排序、归并排序、堆排序和 Radix 排序。下面是对每种排序算法的详细介绍: 1. 直接插入排序 基本...
在B站讲选择排序的笔记,需要的同学可以免费下载
public class SelectSort { public static void main(String[] args) { int[] array = {29, 23, 56, 40, 12, 63, 89, 7, 96, 38}; System.out.println("Before sort:"); Display(array); Sort(array); ...
java写的八大经典排序算法(win7 jdk 1.6 下运行) 冒泡排序 BubbleSort 堆排序 HeapSort 插入排序 InsSort 快速排序 QuickSort 归并排序 MergeSort ...简单选择排序 SelectSort 希尔排序 ShellSort
"SortSelect"组件就是这样一个解决方案,它允许用户快速浏览和选择以特定字母开头的选项,同时支持选中事件,增强了可扩展性。 首先,创建一个Vue组件通常涉及以下几个关键步骤: 1. **组件定义**:在Vue中,我们...
常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。本文搜集发布四种...
选择法排序
public void selectSort(int[] data, String sortType) { if (sortType.equals("asc")) { // 升序 // ... } else if (sortType.equals("desc")) { // 降序 // ... } else { System.out.println("使用方法...
6. **选择排序(SelectSort.java)** 选择排序是一种简单直观的算法,每次找到未排序部分的最小(或最大)元素,与未排序部分的第一个元素交换。在Java中,选择排序可以实现为一个简单的循环,但其时间复杂度为O(n^2)...
在这段代码中,`select_sort` 函数实现了选择排序算法的核心逻辑,而 `main` 函数则负责输入数据、调用排序函数以及输出排序结果。通过这个示例,我们可以看到选择排序算法的简洁性和直观性,同时也注意到它的时间...
选择排序是一种简单直观的排序算法,它的工作原理可以分为以下几个步骤: 1. **理解选择排序**:选择排序从数组的第一个元素开始,遍历数组寻找当前未排序部分的最小(或最大)元素。找到后,将这个最小(或最大)...