Java 冒泡程序的一点小白问题
发布网友
发布时间:2023-11-18 14:34
我来回答
共6个回答
热心网友
时间:2024-11-09 10:13
数组越界,冒泡排序。。。。。
for(int i=0;i<=array.length;i++){
for(int j=0;j<array.length-1;j++){}
}
热心网友
时间:2024-11-09 10:13
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 = 0; i < array.length; i++) {
for (int j = 0; j < array.length - i-1; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
showArray(array);
}
public void showArray(int[] array) {
for (int i : array) {
System.out.print(">" + i);
}
System.out.println();
}
}
你的写法会数组越界
for (int j = 0; j < array.length - i; j++) {
改为
for (int j = 0; j < array.length - i-1; j++) {
就可以了
热心网友
时间:2024-11-09 10:14
public class BubbleSort {
public static void main(String[] args) {
int[] array = { 63, 4, 24, 1, 3, 15 };
BubbleSort sorter = new BubbleSort();
sorter.sort(array);
showArray(array);
}
public void sort(int[] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
public static void showArray(int[] array) {
for (int i : array) {
System.out.print(">" + i);
}
System.out.println();
}
}
亲测: 生成一个BubbleSort对象 调用这个对象的sort方法
热心网友
时间:2024-11-09 10:14
for(int j=0;j<array.length-i;j++){
改成for(int j=0;j<array.length-i -1;j++){
热心网友
时间:2024-11-09 10:15
数组下标越界
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 = 0; i < array.length-1; i++) {
for (int j = 0; j+1 < array.length - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
System.out.println(array);
showArray(array);
}
public void showArray(int[] array) {
for (int i : array) {
System.out.print("<" +i);
}
System.out.println();
}
}
热心网友
时间:2024-11-09 10:16
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+1]; array[j+1]=temp; } } } showArray(array); } public void showArray(int[] array){ System.out.print(array[0]); for(int i=1;i<array.length;i++){ System.out.print("<"+array[i]); } System.out.println(); }}