Java-选择排序法

1.思路:按升序,每次都找到最小值的下标,然后与当前循环的道位交换

2.代码

 1 public class TestArray {
 2
 3     public static void main(String[] args) {
 4         int [] array = new int[args.length];
 5         for(int i = 0 ;i < args.length ;i++){
 6             array[i] = Integer.parseInt(args[i]);
 7         }
 8
 9         System.out.println("排序前");
10         for(int i : array){
11             System.out.print(i+"\t");
12         }
13
14         System.out.println("\n排序后");
15         //Arrays.sort(array);
16         TestArray.selectedSort(array);
17         for(int i : array){
18             System.out.print(i+"\t");
19         }
20     }
21
22     public static void selectedSort(int [] array){
23         for(int i = 0; i < array.length; i++){
24             int index = i;
25             for(int j = i; j < array.length; j++){
26                 if(array[index] > array[j]){
27                     index = j;
28                 }
29             }
30             if(i!=index){
31                 int temp = array[i];
32                 array[i] = array[index];
33                 array[index] = temp;
34             }
35
36         }
37     }
38
39 }

3.java TestArray 3 7 6 9 的运行结果为

时间: 2024-11-07 21:27:37

Java-选择排序法的相关文章

java冒泡算法和选择排序法

1 package test.auto; 2 3 import java.util.Arrays; 4 5 import org.apache.bcel.generic.FieldGenOrMethodGen; 6 7 public class Maopao0807{ 8 9 public static void main(String[] args) { 10 //冒泡,每个相邻进行比较 11 int a[]={ 6, 5, 3, 1, 8, 7, 2, 4 , 0}; 12 for (int

【JAVA】算法排序(一)——选择排序法

一.前言 前文中我们总览了一下所有的排序的算法,下面小编就和给大家分享一下选择排序算法. 二 .核心知识点 选择排序的核心思想是我是最大的. 选择排序(Selection sort)是一种简单直观的排序算法.无论是那一种语言的教科书,都会运用到选择排序算法来比较大小.虽然代码就几行,但是如何理解其中的思想是很重要的.下面是小编自己的一些认识: 工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完. eg:比如从大到小,先随便取一个值

java中数组的排序,选择排序法

要求:对数组arr[]进行选择排序法排序. 思路: 1,从第一个元素(角标是0)开始,和它后面的每一个元素进行比较,把较小的数存放在第一个元素中,这样,第一个元素就是最小的值. 2,从第二个元素开始,和它后面的每一个元素进行比较,把较小的数存放在第二个元素中,这样,第二个元素就是除第一个外最小的值. 3,继续.... 4,倒数第二个元素(角标是length-2),和倒数第一个元素(length-1)对比,较小的放在倒数第二个元素里面. 至此,排序完毕. 实现代码: //选择排序 public s

算法大神之路----排序(选择排序法)

选择排序法,顾名思义,就是把特定的数据选择出来进行排序. 选择排序法有两种方式 在所有的数据中,当由大到小排序,那么就将最大值放到第一个位置 如果由小到大排序,那么就将最小值放到第一个位置 以由小到大排序举例,当排序时候,扫描整个数据,拿第一个依次与其他做比较,如果其他数据比第一个大,或者相等,那么就不交换,如果其他数据比第一个数小,那么就交换二者的位置,扫描结束后,则从第二个数开始,依次扫描. 方法分析 无论是最坏还是最好情况,甚至是平均情况下,都需要对全部数据进行扫描,找到最大或最小值,因此

选择排序法对数组进行排序

package selectionSort; import java.util.Arrays; public class Exam { //使用选择排序法对数组进行排序 public static void main(String[] args) { int[] nums= {23,3453,123,54,12,45,145,135,656,146,65}; SelectionSort(nums); System.out.println(Arrays.toString(nums)); } pub

基于python语言的经典排序法(冒泡法和选择排序法)

前 每逢周末就遇雨期,闲暇之余,捣鼓了下python,心心念想学习,今天就在电脑上装了个2.7,学习了下经典算法,冒泡与选择排序法 第一次写关于python的文章,说的不当之处,多多指正,我积极改正 在之前,曾写过使用java和C语言实现该两种排序法,详情见https://www.cnblogs.com/hong-fithing/p/7615907.html 搭建环境,准备工作就不冗余介绍了,网上搜罗一大堆 目录 冒泡排序法 选择排序法 冒泡排序法 冒泡类似于汽水现象,摇动一下,就有很多泡往上冒

javascript选择排序法

选择排序原理: 1.第一次遍历中,找到最小的数组元素然后用第一个数组元素交换它. 2.第二次遍历中,找到第二小的数组元素然后用第二个数组元素交换它. 3.依次类推.如果包含N个元素,那么将在最多N-1次遍历之后完成排序. 示例: 示例结果显示: <!doctype html><html><head><meta charset="utf-8"><title>选择排序法</title><script> va

常用排序法之一 ——冒泡排序法和选择排序法

语言中,常用的算法有:冒泡排序.快速排序.插入排序.选择排序.希尔排序.堆排序以及归并排序等等.那么从这篇开始,我将分别总结下这几种排序法. 先交代一下,我们将要排序的数组定义为arr[N],即数组arr[]包含N个元素. ## 冒泡排序法(Bubblesort) ## 所谓排序法,就是对一组无序的序列进行有序的排序(从大到小或者从小到大),那么什么叫冒泡排序法,冒泡排序法又是怎么实现数组的有序排列呢. 冒泡排序法的具体实现方法是这样的,从数组的第一个元素`arr[0]`开始,两两比较**(`a

使用选择排序法对数组进行排序

int[] array = new int[10]; //生成随机数对象 Random random = new Random(); for (int i = 0; i < array.length; i++) { array[i] = random.nextInt(50); System.out.print(array[i]+" "); } System.out.println("\n排序后:"); int index; for (int i = 1; i 

PHP 选择排序法

选择排序法的思路就是再第一次循环中,假设第一个数是最小的:然后跟第二个数比较,一直比到最后,找出最小值,然后把最小值跟第一个数的位置互换:再进行下一次循环,找出最小值跟第二个位置的数互换:一直循环数组的个数减去1次:数组就成了有序的了: <?php $arr=array(3,1,7,-1); for ($i=0;$i<count($arr)-1;$i++){     $min=$arr[$i];     $mindex=$i;   for ($j=$i+1;$j<count($arr);