您的位置:首页 > 其它

数字排序问题

2013-10-23 20:39 260 查看
第一种:public class Start {

public static void main(String[] args) {

int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};

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;

}

}

System.out.println(a[i]);

}

}

}

第一轮排序从第一个与其他数字比较,把最小的排到第一个位置;把第二个数字与其后面的数字比较,比较过后,较小的排在第二个位置。。。。。

第二种:

public class Start {

public static void main(String[] args) {

int [] a={2 ,4, 6 ,3, 1, 9, 7 ,8};

for(int i=0;i<a.length;i++){

int k=i;

for(int j=k+1;j<a.length;j++){

if (a[j]<a[k]){

k=j;

}

}

if(k!=i){

int temp=a[i];

a[i]=a[k];

a[k]=temp;

}

System.out.println(a[i]);

}

}

}

第一轮中,i=0,把较小的数的索引赋值给K,判断k与i的关系若不想等,交换两数位置。依次进行第二轮,第三轮。。。(注:为节约空间,可将K,temp的定义放在函数的外部)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: