【java】选择排序的实现

选择排序的原理说明:

第一趟:0脚标位分别和之后的关键字进行比较,如果关键字小于0脚标位的关键字,则交换两个关键字的位置;经过第一趟简单选择排序,0脚标位为所有关键字中最小的记录。

第二趟:1脚标位分别和之后的关键字进行比较,如果关键字小于1脚标位的关键字,则交换两个关键字的位置;经过第二趟简单选择排序,1脚标位为除0脚标位关键字外其他关键字中最小的记录。

.

.

以此类推

.

.

代码实现:

public class 选择排序 {
    public static void main(String[] args)
    {
        int []a=new int[]{56,34,21,45,75,24,1,1,5};
        print(a);
        //int []b=new int[a.length];
        choosesort(a);
        print(a);
    }
    public static void choosesort(int a[])
    {
        for(int i=0;i<a.length;i++)
        {
            for(int j=i+1;j<a.length;j++)
            {
                if(a[i]>a[j])
                {
                    int m;
                    m=a[i];
                    a[i]=a[j];
                    a[j]=m;
                }
                continue;
            }
        }
    }
    public static void print(int a[])
    {
        for(int x=0;x<a.length;x++)
        {
            if(x!=a.length-1)
                System.out.print(a[x]+",");
            else
                System.out.print(a[x]);
        }
        //return int;
        System.out.println();
    }

}
时间: 2024-10-13 05:12:49

【java】选择排序的实现的相关文章

java选择排序

/** * Created by rabbit on 2014-5-9. */ class ArrayTest2 {     public static void SelectSort(int [] arr) //定义选择排序的方法     {         for (int x=0;x<arr.length;x++)         {             for (int y=0;y<arr.length-1;y++)             {                 if

java选择排序和冒泡排序

public class Choose{ public static void main(String[] args){  int[] arr = {4,6,7,3,1,6};   Select a = new Select();   a.sort1(arr);   System.out.println("选择排序后:");   for(int i=0;i<arr.length;i++){    System.out.print(arr[i]);    }    a.sort2(

Java选择排序算法

package com.jckb; /**选择排序 * * @author gx *算法原理: *第一个数和后面每个数进行比较,如果大于后面的数就进行位置交换, *第一次比较结束后得到了最小值 */ public class ChoiceSort { public static void main(String[] args) { int []arr={34,19,11,109,3,56}; for(int i =0;i<arr.length-1;i++){ for(int j=i+1;j<a

Java选择排序,插入排序,快速排序

public class Test { public static void main(String[] args) { int a[] = { 1, 2, 3, 4, 5 }; // 选择排序(a); // 插入排序(a); quicksort(a, 0, a.length - 1); System.out.print("排序后:"); for (int n : a) { System.out.print(n + " "); } } static void 选择排

java 选择排序与冒泡排序

选择排序与冒泡排序的特点与区别 ++++++++++++++++++++++++++++++++++++++++++++++ 选择排序 这一种简单的排序方法,它的基本思想是:R[n]第一次从R[0]~R[n-1]中选取最小值,与R[0]交换;第二次从R[1]~R[n-1]中选取最小值,与R[1]交换;...., 第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换;.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换;总共通过n-1次,得到一个按排序码

java选择排序下标交换和下标对应的值的交换

class a4 { public static void main(String[] args) { int [] arr = {1, 8, 3, 6, 5, 2}; printNumber(arr); sort2(arr); printNumber(arr); } public static void swap(int[] arr, int a, int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } public stat

java算法(一) 直接选择排序

一.基本概念 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(注:要把最大最小的元素和起始的元素交换), 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾.以此类推,直到所有元素均排序完毕. 二.算法特点 是否稳定: false 平均时间复杂度:O(n^2) 最差时间复杂度:O(n^2) 最优时间复杂度:O(n^2) package com.jiafuwei.java; /** * java 选择排序 * @author jfw * */ public

选择排序的3种语言实现方法(C java python)

1.选择排序的思路是:遍历数组,第一遍找出所有成员的最小值,放到数组下标为0的位置,第二遍从剩余内容中,再次找出最小值,放到数组下标为1的位置,以此类推,遍历完成所有的数组内容,最后结果就是:数组是按照从小到大顺序进行排序的. 2.按照C语言.java.python的顺序,分别实现如下,在对应编译平台上都是编译通过的: C语言版本: #include <stdio.h> int main() { int i; int j; int temp; int origin[] = {2,1,4,3,5

JavaScript ,Python,java,Go系列算法之选择排序

常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等.用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) 的时间复杂度.所以用到它的时候,数据规模越小越好.唯一的好处可能就是不占用额外的内存空间了吧.通俗来说就是你们中间谁最小谁就出列,站到队列的最后边,然后继续对着剩余的无序数组说你们中间谁最小谁就出列,站到队列的最后边,一直到最后一个,继续站到最后边,这样数组就有了顺序,从小到大. 1.算法步骤 首先在未排

Java学习 (七)、数组,查找算法,二分查找法,冒泡排序,选择排序,插入排序

一.常用数组查找算法 工作原理:它又称为顺序查找,在一列给定的值中进行搜索,从一端的开始逐一检查每个元素,知道找到所需元素的过程. 例1:查找指定的数在数组中出现的位置,找到返回下标,找不到返回-1 1 import java.util.Scanner; 2 public class LinearSearch{ 3 public static void main(String []argas) 4 { 5 int [] array={10,100,90,65,80,92}; 6 System.o