选择排序JAVA实现

package kpp.sort;
/**
 * 选择排序
 * 从第0个元素开始,每次选择最小的元素,与当前元素交换
 * 简单选择排序是不稳定的排序。

  时间复杂度:T(n)=O(n^2)。
 * @author kpp
 *
 */
public class SelectSort {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int array[] = {49,38,65,97,176,213,227,49,78,34,12,164,11,18,1};
        selectSort(array);
        for(int k :array){
            System.out.println(k);
        }
    }
    private static int selectSort(int data[]){
        int len = data.length;

        int min = 0;
        for(int i = 0;i < len;i++){
            min = data[i];
            int minIndex = i;
            for(int j = i;j < len;j++){
                if(data[j] < min){
                    min = data[j];
                    minIndex = j;
                }
            }
            data[minIndex] = data[i];
            data[i] = min;
        }
        return 0;
    }

}
时间: 2024-10-18 09:01:34

选择排序JAVA实现的相关文章

冒泡排序与简单选择排序——Java实现

1.冒泡排序 1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 2)代码实现: package com.test.sort; public class BubbleSort { public static void sort(int[] data) { for (int i = 0; i < data.length; i++) { for (int j = data.length

选择排序-java

排序-选择排序 基本思想:在待排序子表中找出最大(小)元素, 并将该元素放在子表的最前(后)面. 平均时间:O(n2) 最好情况:O(n2) 最坏情况:O(n2) 辅助空间:O(1) 稳定性:不稳定 适用场景:n比较小时 java实现: 1 public static void selectSort(int[] list) { 2 3 for (int i = 0; i < list.length; i++) { 4 int min = list[i]; 5 int minIndex = i;

排序算法入门之选择排序-Java实现

本文参考http://blog.csdn.net/m0_37568091/article/details/78023705 选择排序是先从对象数组中选出最小的放在第一个位置,再从剩下的元素中选择次小的放在第二个位置,以此类推...这里以数组排序实现. public static void chooseSort(int[] a){ for(int i=0;i<a.length;i++){ //假设最小值下标是i int min=i; //依次找出最小值 for(int j=i+1;j<a.len

选择排序java语言实现

1 class demo 2 { 3 public static void main(String[] args) 4 { 5 int[] arr={1,4,2,6,8,9,0,5,3,2,2,4,4,6,7,8}; 6 for (int i=0;i<arr.length-1;i++) { 7 for (int j=i+1;j<arr.length ;j++ ) { 8 int temp; 9 if (arr[i]>arr[j]) { 10 temp=arr[i]; 11 arr[i]=

排序——选择排序(java描述)

百度百科的描述如下:选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到全部待排序的数据元素排完. 选择排序是不稳定的排序方法. public class Sorting { public static void main(String[] args) { int[] a = { 6, 2, 5, 3,

冒泡排序和选择排序--Java

冒泡排序(Bubble sort)和选择排序(Selection sort) 初看冒泡排序和选择排序不禁会问它们有什么区别? 的确, 它们的基本思想是一样的. 都是通过一轮的循环找到所要排序数中的最值(最大值或最小值), 然后将最值置于顶端. 它们的区别主要体现在对其他数(非最值)的处理上. 冒泡排序: 通过相邻的两个数的比较, 根据需要决定是否将两个数互换位置, 然后将比较往前(或往后)推进. 例如, 要求从小到大排序. 通过将两个数比较, 将较大的数置换到右边. 如此不断循环将得到最值. 选

3分钟理解选择排序java版

概念 选择排序(selectsorting)也是一种简单的排序方法.它的基本思想是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 细节:本例中是找到最小值放到起始位置. 第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]~arr[n-1]中选取最小值,与a

选择排序 java代码

1 public class Paixu_choice { 2 int[] a=new int[] {8,5,7,9,1,6,7,4,2,6}; 3 public static void main(String[] args) { 4 Paixu_choice h=new Paixu_choice(); 5 h.go(); 6 } 7 public void go(){ 8 int out,in,min; 9 for(out=0;out<a.length-1;out++){ 10 min=out

数组排序-冒泡排序-插入排序-选择排序-Java实现

package org.lyk.entities; public class SortHelper { public static void BubbleSort(int[] array) { for(int i = array.length-1; i >= 1 ; i--) { for(int j = 0; j < i ; j++) { if(array[j] > array[j+1]) { int temp = array[j]; array[j] = array[j+1]; arr