package com; //选择排序 public class Selectsort { /* * 思想: * 1.找一个基准元素作为最小值(通常选第一个),把该元素的数组下标给一个变量min * 2.依次和其它元素比较,如果有比它还小的元素,那么就把比它小的元素的数组下标给min * 3.然后把min和初始的基准元素下标比较,如果发现不一样,那么就说明其它元素有比基准元素小的,把比基准元素小的元素和基准元素交换 */ public static void swap(int a[],int i,int index) { int t=a[i]; a[i]=a[index]; a[index]=t; } public static void sort(int a[],int size) { for(int i=0;i<size;i++) { int index=i; for(int j=i+1;j<size;j++) { if(a[index]>a[j]) { index=j; } } if(i!=index) {//有比基准元素小的元素 swap(a,i,index); } } } /* * 打印排序后的元素 */ public static void print(int a[]) { for(int i=0;i<a.length;i++) { System.out.println("元素的值依次是:"+a[i]); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a[]= {12,23,24,21,32,45,34,25,15,2,13,21,67}; Selectsort.sort(a,a.length-1); Selectsort.print(a); } }
选择排序
猜你喜欢
转载自blog.csdn.net/weixin_37817685/article/details/79992735
今日推荐
周排行