选择排序 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;
11             for(in=out+1;in<a.length;in++){
12                 if(a[in]<a[min]){
13                     min=in;
14                 }
15             }
16             change(min,out);
17         }
18         display();
19     }
20     public void change(int x,int y){
21         int    tempp=a[x];
22         a[x]=a[y];
23         a[y]=tempp;
24     }
25     public void display(){
26         for(int i=0;i<a.length;i++){
27             System.out.print(a[i]);
28         }
29     }
30
31 }
时间: 2024-10-12 22:11:09

选择排序 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代码

原文链接:http://www.orlion.ga/193/ 由上图可看到希尔排序先约定一个间隔(图中是4),然后对0.4.8这个三个位置的数据进行插入排序,然后向右移一位对位置1.5.9进行插入排序按照此规律直到全部参与了排序.然后将间隔约定为4-1=3,然后继续进行如上的排序方法.具体过程如下: 9 1 2 3 0 4 5 7 6 8 Setp 1 经过间隔为4排序后变成 : 0 1 2 3 6 4 5 7 9 8 Setp 2 经过间隔为3排序后变成 : 0 1 2 3 6 4 5 7 9

选择排序-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;

C语言实现冒泡排序法和选择排序法代码参考

为了易用,我编写排序函数,这和直接在主调函数中用是差不多的. 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法: void sort(int * ar,int k) //ar指向数组名,k是元素个数 { int i,j,temp; for(i = 0; i < k - 1; i++){ //比较k-1趟就可以了 for(j = 0; j < k - i -1; j++){ if(ar[j] > ar[j + 1]){ temp = ar[

冒泡排序和选择排序--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实现

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,

排序算法入门之选择排序-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]=