优化之后的排序比原来的选择排序块很多
package com.px;
public class SlePx {
/**
* @param args
* 选择排序
*/
public static void main(String[] args) {
int[] coll = new int[10];
for(int i=0;i<10;i++){
coll[i]=(int)(Math.random()*10);
System.out.print(coll[i]+" ");
}
System.out.println();
selectpx(coll);
selZypx(coll);
for(int j=0;j<coll.length;j++){
System.out.print(coll[j]+" ");
}
}
//选择排序
public static void selectpx(int[]coll){
int temp;
for(int i=0;i<coll.length-1;i++){
for(int j=i+1;j<coll.length;j++){
if(coll[i]>coll[j]){
temp = coll[j];
coll[j]=coll[i];
coll[i]=temp;
}
}
}
}
//择优选择排序(优化后的选择排序)
public static void selZypx(int[]coll){
int temp;
int k;
for(int i=0;i<coll.length-1;i++){
k=i;
for(int j=k+1;j<coll.length;j++){
if(coll[k]>coll[j]){
k=j;
}
}
if(k>i){
temp = coll[k];
coll[k]=coll[i];
coll[i]=temp;
}
}
}
}
package com.px;
public class SlePx {
/**
* @param args
* 选择排序
*/
public static void main(String[] args) {
int[] coll = new int[10];
for(int i=0;i<10;i++){
coll[i]=(int)(Math.random()*10);
System.out.print(coll[i]+" ");
}
System.out.println();
selectpx(coll);
selZypx(coll);
for(int j=0;j<coll.length;j++){
System.out.print(coll[j]+" ");
}
}
//选择排序
public static void selectpx(int[]coll){
int temp;
for(int i=0;i<coll.length-1;i++){
for(int j=i+1;j<coll.length;j++){
if(coll[i]>coll[j]){
temp = coll[j];
coll[j]=coll[i];
coll[i]=temp;
}
}
}
}
//择优选择排序(优化后的选择排序)
public static void selZypx(int[]coll){
int temp;
int k;
for(int i=0;i<coll.length-1;i++){
k=i;
for(int j=k+1;j<coll.length;j++){
if(coll[k]>coll[j]){
k=j;
}
}
if(k>i){
temp = coll[k];
coll[k]=coll[i];
coll[i]=temp;
}
}
}
}