自己写的不知道错哪里了?
public class paix
{
void paixu()
{
int [] a={2,1,4,5,7,6};
for(int i=0;i<6;i++)
System.out.println("原数组为:"+a[i]);
int [] b=new int[6];
int temp=a[0];
for(int j=0;j<=5;j++)
{
flg:
for(int k=0,i=1;k<=5;k++,i++)
{
if (a[i-1]>a[i])
temp=a[i];
a[i]=a[i-1];
a[i-1]=temp;
}
}
for(int i=0;i<=5;i++)
{
System.out.println("经过排序后的数组为:"+a[i]);
}
}
public static void main(String args[])
{
paix paix1=new paix();
paix1.paixu();
}
}
public class paix
{
void paixu()
{
int [] a={2,1,4,5,7,6};
for(int i=0;i<6;i++)
System.out.println("原数组为:"+a[i]);
int [] b=new int[6];
int temp=a[0];
for(int j=0;j<=5;j++)
{
flg:
for(int k=0,i=1;k<=5;k++,i++)
{
if (a[i-1]>a[i])
temp=a[i];
a[i]=a[i-1];
a[i-1]=temp;
}
}
for(int i=0;i<=5;i++)
{
System.out.println("经过排序后的数组为:"+a[i]);
}
}
public static void main(String args[])
{
paix paix1=new paix();
paix1.paixu();
}
}
if (a[i-1]>a[i])下标越界
a[i]k=0; a[1]
k=1; a[2]
k=2; a[3]
k=3; a[4]
k=4; a[5]
k=5; a[6] //数组的下标是0-5
这句改为:
for(int i=0;i<5;i++)
这样不就只有5个元素被了吗?我有6个。
for (int j = 0; j <= 5; j++) { for (int i = 0; i < 5; i++) { if (a[i + 1] > a[i]) {
temp = a[i]; a[i] = a[i + 1];
a[i + 1] = temp;
}
} }
{
for(int i=0;i<5;i++)
{
if (a[i]>a[i+1])
temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}
您看下我该的是不是和您一个意思,但运行不出来。全是1
public class paix {
void paixu() {
int[] a = { 2, 1, 4, 5, 7, 6 };
System.out.println("原数组为:");
for (int i = 0; i < a.length; i++)
System.out.print(a[i]+",");
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
System.out.println();
System.out.println("经过排序后的数组为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
} public static void main(String args[]) {
paix paix1 = new paix();
paix1.paixu();
}
}
public class paix {
void paixu() {
int[] a = { 2, 1, 4, 5, 7, 6 };
System.out.println("原数组为:");
for (int i = 0; i < a.length; i++)
System.out.print(a[i]+",");
for(int i=0;i<a.length;i++){
for(int j=i+1;j<a.length;j++){
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
System.out.println();
System.out.println("经过排序后的数组为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+",");
}
} public static void main(String args[]) {
paix paix1 = new paix();
paix1.paixu();
}
}