用JAVA对数组排序,使用选择或冒泡,不要用Arrays
发布网友
发布时间:2023-07-12 07:22
我来回答
共2个回答
热心网友
时间:2024-12-04 22:41
import java.util.Scanner;
/**
* 利用冒泡法对数组进行排序
* @author wuliquan
*
*/
public class BubbleSort {
/**
* 从小到大对数组经行排序
* @param a
*/
public void bubbleSort(int[] a) {
int temp;
for(int i=0;i<a.length-1;i++) {
for(int j=0;j<(a.length-1)-i;j++) {
if(a[j]>a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
output(a);
}
/**
* 输出排好序数组
* @param a
*/
public void output(int[] a) {
System.out.print("冒泡排序结果:");
for(int i=0;i<a.length;i++) {
System.out.print(a[i]);
if(i != (a.length-1)) {
System.out.print(" ");
}
}
System.out.println();
}
/**
* 输入数据已空格作为分隔符,回车结束输入
* @return
*/
public int[] input() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入测试数据:");
String input = scanner.nextLine();
String datas[] = input.split(" ");
int[] numbers = new int[datas.length];
for(int i=0;i<datas.length;i++) {
numbers[i] = Integer.parseInt(datas[i]);
}
return numbers;
}
public static void main(String[] args) {
BubbleSort bs = new BubbleSort();
int[] array = bs.input();
bs.bubbleSort(array);
}
}
热心网友
时间:2024-12-04 22:41
冒泡法的效率非常的低,选择排序算法比冒泡效率高些
假设有数组 a,选择排序算法如下
for(int i=0;i<a.length;i++){
int max=i;
for(int k=i+1;k<a.length;k++){
if(a[max]<a[k])
max=k;
}
int t=a[max];
a[max]=a[i];
a[i]=t;
}