public class BubbleSort {
public static void main(String[] args){
int[]array={63,4,24,1,3,15};
BubbleSort sorter=new BubbleSort();
sorter.sort(array);
}
public void sort(int[] array){
for(int i=1;i<array.length;i++)
{for(int j=0;j<array.length-i;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+i];
array[j+i]=temp;
}
}
}
showArray(array);
}
public void showArray(int[] array) {
for(int i:array){
System.out.print(">"+i);}
System.out.println();
}
}
求大神看看错在哪?
运行结果:>3>24>1>4>63>15
期望结果:>1>3>4>15>24>63
是j+1不是j+i
谢,自己怎么也找不出^_^
class Program { static void Main(string[] args) { int[] array = { 63, 4, 24, 1, 3, 15 }; BubbleSort sorter = new BubbleSort(); sorter.sort(array); } } public class BubbleSort { public void sort(int[] array) { for (int i = 0; i < array.Length; i++) { for (int j = 0; j < array.Length - i; j++) { if (array[j] > array[j + i]) { int temp = array[j]; array[j] = array[j + i]; array[j + i] = temp; i = 0; } } } showArray(array); } public void showArray(int[] array) { foreach (var i in array) { Console.WriteLine(">"+i); } Console.ReadLine(); } }