`

排序算法java实现选择排序

 
阅读更多

 

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]+",");

}

}

}

 

分享到:
评论

相关推荐

    各种排序算法比较(java实现)

    `Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...

    各种排序算法java实现

    在提供的文件中,我们可以看到有四种经典的排序算法的Java实现:插入排序、冒泡排序、选择排序以及希尔排序。 **插入排序**: 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据...

    基数排序算法 java实现

    基数排序是一种非比较型整数排序算法,它的原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。这种算法对于大数据量的排序尤其有效,因为其...在实际应用中,我们需要根据具体情况来选择最适合的排序算法。

    常见的七大排序算法Java实现.zip

    本压缩包"常见的七大排序算法Java实现.zip"包含了七种经典的排序算法在Java语言中的实现。尽管文件列表中并未明确列出每种排序算法的名称,但根据常规,这七大排序算法可能包括冒泡排序、插入排序、选择排序、快速...

    常用排序算法java演示

    本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...

    排序算法JAVA实现,eclipse+txt

    Java作为一种广泛应用的编程语言,提供了丰富的工具和技术来实现各种排序算法。本资料包包含了一个基于Java的排序算法实现,以及Eclipse工程文件,方便开发者在Eclipse集成开发环境中进行调试和学习。 1. **冒泡...

    Java排序算法实现

    Java排序算法实现 Java排序算法实现 Java排序算法实现

    IT面试笔试-各种排序算法Java实现

    【IT面试笔试中的排序算法Java实现】 在IT面试和笔试中,掌握各种排序算法的实现是必不可少的技能。本文将详细介绍几种经典的排序算法,并提供Java语言的实现代码,包括冒泡排序、插入排序、选择排序和快速排序。...

    内部排序算法java实现

    这里我们将深入探讨Java实现的几种内部排序算法,包括希尔排序、快速排序、堆排序、归并排序、冒泡排序、插入排序和选择排序。 首先,希尔排序是一种基于插入排序的算法,通过将原始数组分解成多个子序列来提高效率...

    快速排序算法的java实现

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and Conquer),通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的...

    三种线性排序算法Java实现

    本资源提供的Java实现包括了三种线性排序算法:桶排序(Bucket Sort)、基数排序(Radix Sort)和计数排序(Counting Sort)。这三种算法在特定条件下可以达到线性的平均或最好时间复杂度,效率相对较高。 1. **桶...

    JAVA写的6种内部排序算法简单实现

    这里我们主要探讨的是使用Java语言实现的六种内部排序算法。内部排序是指在内存中完成的排序过程,它不涉及外部存储器交互。这六种排序算法可能包括常见的快速排序、归并排序、插入排序、选择排序、冒泡排序以及堆...

    各类排序算法java的实现.CHM

    各类排序算法java的实现.CHM 各类排序算法java的实现.CHM

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...

    各类排序算法java的实现

    以上介绍了四种常见的排序算法:插入排序、冒泡排序、选择排序以及希尔排序,并给出了它们在Java中的具体实现。这四种算法各有特点,适用于不同的应用场景。插入排序适合部分有序的数据集;冒泡排序虽然简单但效率较...

    三种排序算法java实现

    在`QuickSort.java`文件中,你可以找到一个典型的快速排序实现,包括如何选择基准、如何分割数组以及如何递归调用自身来排序剩余部分。 其次,桶排序(Bucket Sort)是一种分布式排序算法,它假设输入数据服从均匀...

Global site tag (gtag.js) - Google Analytics