public class NumSort {
public static void main(String[] args){
int[] a = new int[args.length];
for (int i=0; i<args.length; i++){
a[i] = Integer.parseInt(args[i]);
}
print(a);
selectionSort(a);
print(a);
}
private static void selectionSort(int[] a){
for(int i=0; i<a.length; i++){
for(int j=i+1; j<a.length; i++){
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
private static void print(int a[]){
for(int i=0; i<a.length; i++) {
System.out.println(a[i] + " ");
}
System.out.println();
}
}
public static void main(String[] args){
int[] a = new int[args.length];
for (int i=0; i<args.length; i++){
a[i] = Integer.parseInt(args[i]);
}
print(a);
selectionSort(a);
print(a);
}
private static void selectionSort(int[] a){
for(int i=0; i<a.length; i++){
for(int j=i+1; j<a.length; i++){
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
private static void print(int a[]){
for(int i=0; i<a.length; i++) {
System.out.println(a[i] + " ");
}
System.out.println();
}
}
for(int i=0; i <a.length; i++){
for(int j=i+1; j <a.length; i++){ //j++才对
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
只用变量j就可以了,别i,j都用,都用的话思路很混乱。
如:
if(a[j] < a[j+1])
public class NumberSort {
public static void main(String[] args){
int[] a = {1,4,5,7,2,22,15,78,0};
print(a);
selectionSort(a);
print(a);
} private static void selectionSort(int[] a){
for(int i=0; i <a.length; i++){
for(int j=i+1; j <a.length; j++){
if(a[j] < a[i]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
} private static void print(int a[]){
for(int i=0; i <a.length; i++) {
System.out.println(a[i] + " ");
}
System.out.println();
}
}
结果是:1
4
5
7
2
22
15
78
0 0
1
2
4
5
7
15
22
78