public class SelectionSort {
//选择排序
//基本思想:
//在长度为N的无序数组中,第一次遍历n-1个数,找到最小的数值与第一个元素交换
//第二次遍历n-2个数,找到最小的数值与第二个元素交换,
//...
//第n-1次遍历,找到最小的数值与第n-1个元素交换,排序完成。
//平均时间复杂度为:O(n^2)
public static void main(String[] args) {
int[] arr = new int[]{6,2,4,1,9,3,6,7,0};
System.out.println("排序前=====");
print(arr);
System.out.println("");
System.out.println("排序后");
int[] result = selectionSort(arr);
print(result);
}
public static int[] selectionSort(int[] arr){
int temp = 0;
for(int i=0; i<arr.length-1; i++){
int minIndex = i;
for(int j=i+1; j<arr.length; j++){
if(arr[j]<arr[minIndex]){
minIndex = j;
}
}
if(minIndex!=i){
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
return arr;
}
public static void print(int[] arr){
for(int i=0; i<arr.length; i++){
System.out.print(arr[i]+",");
}
}
}
相关推荐
`Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...
在提供的文件中,我们可以看到有四种经典的排序算法的Java实现:插入排序、冒泡排序、选择排序以及希尔排序。 **插入排序**: 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据...
基数排序是一种非比较型整数排序算法,它的原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。这种算法对于大数据量的排序尤其有效,因为其...在实际应用中,我们需要根据具体情况来选择最适合的排序算法。
本压缩包"常见的七大排序算法Java实现.zip"包含了七种经典的排序算法在Java语言中的实现。尽管文件列表中并未明确列出每种排序算法的名称,但根据常规,这七大排序算法可能包括冒泡排序、插入排序、选择排序、快速...
本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...
Java作为一种广泛应用的编程语言,提供了丰富的工具和技术来实现各种排序算法。本资料包包含了一个基于Java的排序算法实现,以及Eclipse工程文件,方便开发者在Eclipse集成开发环境中进行调试和学习。 1. **冒泡...
Java排序算法实现 Java排序算法实现 Java排序算法实现
【IT面试笔试中的排序算法Java实现】 在IT面试和笔试中,掌握各种排序算法的实现是必不可少的技能。本文将详细介绍几种经典的排序算法,并提供Java语言的实现代码,包括冒泡排序、插入排序、选择排序和快速排序。...
这里我们将深入探讨Java实现的几种内部排序算法,包括希尔排序、快速排序、堆排序、归并排序、冒泡排序、插入排序和选择排序。 首先,希尔排序是一种基于插入排序的算法,通过将原始数组分解成多个子序列来提高效率...
快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的...
本资源提供的Java实现包括了三种线性排序算法:桶排序(Bucket Sort)、基数排序(Radix Sort)和计数排序(Counting Sort)。这三种算法在特定条件下可以达到线性的平均或最好时间复杂度,效率相对较高。 1. **桶...
这里我们主要探讨的是使用Java语言实现的六种内部排序算法。内部排序是指在内存中完成的排序过程,它不涉及外部存储器交互。这六种排序算法可能包括常见的快速排序、归并排序、插入排序、选择排序、冒泡排序以及堆...
各类排序算法java的实现.CHM 各类排序算法java的实现.CHM
本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...
以上介绍了四种常见的排序算法:插入排序、冒泡排序、选择排序以及希尔排序,并给出了它们在Java中的具体实现。这四种算法各有特点,适用于不同的应用场景。插入排序适合部分有序的数据集;冒泡排序虽然简单但效率较...
在`QuickSort.java`文件中,你可以找到一个典型的快速排序实现,包括如何选择基准、如何分割数组以及如何递归调用自身来排序剩余部分。 其次,桶排序(Bucket Sort)是一种分布式排序算法,它假设输入数据服从均匀...