数组练习1:遍历数组元素
public class TestArray {
public static void main(String [] args) {
int [] a = {2,4,6,7,3,5,1,9,8};
for(int i= 0; i<a.length; i++){
System.out.print(a [i] + " " );
}
}
}
数组练习2:获取一组数并对其排序
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.paeseInt(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;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.print(a[i] + " ")
}
System.out.println();
}
}
练习2的改进:
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.paeseInt(args [i]); //命令行窗口下输入所需要排序的数
}
print(a); //打印输入的一组数(无序)
selectionSort(a); //调用方法,排序
print(a}; //打印排序完成后的一组数(有序)
private static void selectionSort(int[] a){
int k,temp; //再循环之外定义k和temp,避免每次循环都需要重新定义k和temp,每次都为其分配内存
for (int i=0; i<a.length;i++){
k=i; //定义a[i]的位置,下标记为k;
for(int j=k+1; j<a.length;j++){
if(a[j] < a[k]){
k=j;
}
}
if(k != i){
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
private static void print(int [] a){
for(int i=0;i<a.length;i++){
System.out.print(a[i] + " ")
}
System.out.println();
}
}