大家来找茬
程序代码:
public static void setPai(int a[]) {
int m,k,j;
for(int i=0;i<a.length;i++){
m=a[i];k=0; //定义m=a[i],即未完成排序的序列的第一个数
for( j=i+1;j<a.length;j++){
if(a[j]<m){
m=a[j]; //将a[j]的值放入m中
k=1;
}
}
if(k){ //如果k=1,即if里的条件为真,执行下面语句 反之,直接跳过
a[j]=a[i]; //实现a[j]与a[i]互换
a[i]=m;
}
}
}
int m,k,j;
for(int i=0;i<a.length;i++){
m=a[i];k=0; //定义m=a[i],即未完成排序的序列的第一个数
for( j=i+1;j<a.length;j++){
if(a[j]<m){
m=a[j]; //将a[j]的值放入m中
k=1;
}
}
if(k){ //如果k=1,即if里的条件为真,执行下面语句 反之,直接跳过
a[j]=a[i]; //实现a[j]与a[i]互换
a[i]=m;
}
}
}
程序代码:
public static void setPai(int a[]){
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;
}
}
}
这两个方法的代码`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;
}
}
}
我的意思 是实现数组排序
下面的代码是教程里的代码
上面的是我编写的`
为什么我的代码不能达到目的`
请能明察秋毫的同学指点下`
----------------解决方案--------------------------------------------------------
好像发错了!!!
----------------解决方案--------------------------------------------------------
数组有专门的排序方法
Arrays.sort(数组名);
----------------解决方案--------------------------------------------------------
好像是第二个的for语句括号放错了。不知道对不对??
----------------解决方案--------------------------------------------------------