1、基本思想
在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。
2、图示
3、Java实现
package com.leiht.sort;
/**
* 直接选择排序简单实现
* @author Leiht
*
*/
public class SimpleSelectSort {
public static void main(String[] args) {
int[] numbers = { 56, 45, 78, 67, 99, 13, 34, 49, 55, 34, 12, 77, 1 };
System.out.println("排序之前:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
//执行排序算法
new SimpleSelectSort().sort(numbers);
System.out.println();
System.out.println("排序之后:");
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
}
}
/**
* 排序方法
* @param numbers
*/
public void sort(int[] numbers) {
//从第0个开始循环数组中第一个元素
for(int i = 0; i < numbers.length; i++) {
int min = numbers[i];
int index = i;
//从当前元素的下一个元素开始循环,选出从i到最后一个中最小的放到第i个位置
for(int j = i + 1; j < numbers.length; j++) {
if(numbers[j] < min) {
min = numbers[j];
index = j;
}
}
numbers[index] = numbers[i];
numbers[i] = min;
}
}
}
4、分析
简单选择排序是不稳定的排序
- 大小: 91.3 KB
分享到:
相关推荐
以上就是关于“选择排序java代码”的详细解析,这个简单的Java实现可以帮助初学者理解和实践选择排序算法。在实际编程中,我们通常会使用更高效的排序算法,如快速排序、归并排序或堆排序,但理解基础排序算法对提升...
现在,我们来看`SelectSort.java`这个文件,它应该包含了实现选择排序的Java代码。在Java中,我们可以创建一个名为`SelectSort`的类,包含一个名为`selectSort`的静态方法,该方法接受一个整数数组作为参数,并对其...
在Java实现这些排序算法时,我们需要理解每种排序方法的基本逻辑,并将其转化为相应的代码结构。例如,快速排序的实现通常包括`partition`函数来划分数组,以及递归调用自身来处理子数组。归并排序则需要额外的存储...
`Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...
### 常用排序算法分析与实现(Java版) #### 插入排序 **1. 直接插入排序** 直接插入排序是一种简单的排序方法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并...
在Java中实现插入排序,主要涉及数组操作和循环控制,我们可以从以下几个方面来理解这个过程。 1. **基本概念** 插入排序在实际操作中类似于打扑克牌,每拿到一张新牌(数组中的元素),就将其插入到已排序的序列...
描述中的“博文链接:https://j2ee2009.iteye.com/blog/690046”可能提供了更详细的Java实现代码和解释,包括每种排序算法的时间复杂度、空间复杂度分析,以及如何在实际问题中选择合适的排序算法。 至于标签“源码...
以下是对Java实现选择排序算法的详细解释: 1. **算法概述** - 选择排序是一种不稳定的排序算法,它将一个列表分为已排序和未排序两部分,每次从未排序的部分选取最小值并放到已排序部分的末尾。 - 在每一轮迭代...
选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置。Java实现如下: ```java void selectionSort(int[] arr) { for (int i = 0; i...
本文将详细介绍和分析常见的几种排序算法,并通过Java语言实现这些算法。具体包括冒泡排序、简单选择排序、直接插入排序、希尔排序、归并排序以及快速排序等。每种排序算法都将通过具体的Java代码实现并加以解释,...
Java实现冒泡排序的关键在于两个for循环,外层控制遍历次数,内层用于相邻元素的比较和交换。 2. 选择排序(Selection Sort) 选择排序每次找出未排序部分的最小(或最大)元素,然后将其与未排序部分的第一个元素...
快速排序的Java实现可以使用递归的方式来实现,以下是一个简单的实现示例: ```java public class QuickSort { public static void sort(int a[], int low, int hight) { int i, j, index; if (low > hight) { ...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
### JAVA实现的快速排序 #### 知识点详解 **一、快速排序算法介绍** 快速排序(Quick Sort)是一种非常高效的排序算法,采用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归...
总之,Java实现的快速排序、插入排序和选择排序都是重要的数据结构和算法知识,它们在实际开发中有着广泛的应用。理解并能熟练运用这些排序算法,不仅能提升编程技能,也有助于解决复杂问题的能力。在学习和实践中,...
Java排序算法实现主要涉及到两种经典的算法:冒泡排序和选择排序。这两种算法都是基于比较的排序方法,适用于小规模或教学目的的数据排序。 **冒泡排序(Bubble Sort)** 是一种简单直观的排序算法,其核心思想是...
在实验中,我们使用 Java 语言实现了选择排序、冒泡排序和插入排序的算法,并对其进行了测试。实验结果表明,蛮力法和减治法可以有效地解决排序问题,而分治法也可以用于解决复杂的算法问题。 五、结论 蛮力法、减...
**Java实现选择排序的步骤:** 1. 创建一个名为`selectionSort`的方法,接受一个整型数组作为参数。 2. 在方法内,用一个嵌套循环来遍历整个数组。 - 外层循环用于遍历数组中的每一个元素的位置,从0到n-1(n为数组...
本项目主要关注各种排序算法的Java实现,并通过图形用户界面(GUI)进行演示与时间性能测试。下面将详细介绍这些排序算法及其Java实现的关键点。 1. **插入排序**: - **直接插入排序**:这是一种简单的排序方法,...