使用冒泡排序方法对数组元素进行从小到大排序
冒泡排序算法的原理如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
冒泡排序方法实现
//冒泡排序
public static int[] sort(int[] arr) {
for (int j = 0; j < arr.length - 1; j++) {
for (int i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
return arr;
}
通过该方法可以实现将数组进行排序并将排序好的数组返回;
以下为在整个程序中的实现
package homework;
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
int[] arr = input(); //向数组中输入数据
arr = sort(arr);//冒泡排序
print(arr);//遍历数组并输出
}
//向数组中输入数据
public static int[] input() {
int[] A = new int[5];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("输入第" + (i + 1) + "个数");
A[i] = sc.nextInt();
}
return A;
}
//冒泡排序
public static int[] sort(int[] arr) {
for (int j = 0; j < arr.length - 1; j++) {
for (int i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
return arr;
}
//打印输出
public static void print(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
|
|