1.最小数
// 1.0
public class SortDemo1 {
public static void main(String[] args) {
int[] a = {2,5,4,6,8,1,3,9};
int min = a[0];//最小数
int k = 0;
int temp;
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
//最小数
for(int j = 0; j < a.length; j++ ) {
if( min > a[j]) {
k = j;
min = a[j];
}
}
temp = a[0];
a[0] = a[k];
a[k] = temp;
System.out.println("\n最小值 : " + min);
System.out.println("索引 : " + k);
System.out.println("a[5] : " + a[k]);
System.out.println("a[0] : " + a[0]);
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
}
}
2.数组最小数
// 1.1
public class SortDemo2 {
public static void main(String[] args) {
int[] a = {0,2,5,2,5,0};
int min = a[0];//最小数
int k = 0;
int temp;
System.out.print( "数组数据 : ");
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
//最小数
for(int i = 0; i < a.length - 1; i++ ) {
k = i; //默认当前的最小值
//从剩下的元素找最小值
for(int j = i; j < a.length; j++ ) {//内层的起始值
if( a[k] > a[j]) {//a[k]值是默认最小值
k = j;
}
}
//数据交换 如果当前值最小 不进行交换
if(k != i) {
temp = a[i];// 0 0 k == i
a[i] = a[k];
// System.out.print(".temp = " + temp + " : a[k] = " + a[k] + " : a[i] = " + a[i]);
a[k] = temp;
}
/*
System.out.print( "\n");
for(int x = 0; x < a.length; x++ ) {
System.out.print( a[x] + "\t");
}
*/
}
System.out.print( "\n");
System.out.print( "数组数据 : ");
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
}
}
3.排序,大数后置
// 1.1
public class SortDemo3 {
public static void main(String[] args) {
int[] a = {7,5,6,3,2,1,4,9,8,6};
int temp;
System.out.print( "数组数据 : ");
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
//相邻的元素比较 8
for(int i = 0; i < a.length - 1; i++ ) {
//每次找最大数放在最后
for(int j = 0; j < a.length - 1 - i; j++ ) { // 0 - 3
if( a[j] > a[j+1] ) { //交换
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.print( "\n");
System.out.print( "数组数据 : ");
for(int i = 0; i < a.length; i++ ) {
System.out.print( a[i] + "\t");
}
}
}