一.如何用Java实现数组排序
1.建立一个数组,并动态初始化
int n = in.nextInt();// 定义一个数组长度
int[] arr = new int[n];// 动态初始化数组
2.用for循环给数组输入值
for (i = 0; i < arr.length; i++) {
arr[i] = in.nextInt();// 用for循环输入
}
3.排序
for (i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
} // 排序
4.输出
for (int x : arr) {
System.out.println(x);// 输出
}
或者
for (i = 0; i < arr.length; i++) {
System.out.println(arr[i]);// 输出
}
5.代码:
import java.util.Scanner;
public class Sort1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();// 定义一个数组长度
int[] arr = new int[n];// 动态初始化数组
int i;
for (i = 0; i < arr.length; i++) {
arr[i] = in.nextInt();// 用for循环输入
}
for (i = 0; i < arr.length - 1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
} // 排序
for (i = 0; i < arr.length; i++) {
System.out.println(arr[i]);// 输出
}
}
}
二.排序方法
1.选择排序法
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
for (i = 0; i < arr.length; i++) {
int min = arr[i];
int temp;
for (int j = arr.length - 1; j > i; j--) {
if (min > arr[j]) {
min = arr[j];
temp = j;
}
}
arr[temp] = arr[i];
arr[i] = min;
}
2.冒泡排序法
冒泡排序(Bubble Sort)是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
for ( i = 0; i < arr.length; i++) {
for ( j = 0; j < arr.length-1; j++) {
if(arr[j] > arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}