目录
任务2、数组排序(升序和降序排列)
1、选择法排序
(1)选择法排序含义
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
(2)选择法排序实现步骤
2、冒泡法排序
(1)冒泡法排序含义
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。
(2)冒泡法排序实现步骤
public class XExercise02_2 {
public static void main(String[] args) {
//声明部分
int t;
int[] arr = {71, 54, 58, 29, 31, 78, 2, 77, 82};
System.out.print("原始数组:");
for (int x : arr) {
System.out.print(x + "\t");
}
System.out.println();
//处理部分
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
//arr[j]与arr[j + 1]比较
if (arr[j] < arr[j + 1]) {
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
System.out.print("降序排列:");
for (int x : arr) {
System.out.print(x + "\t");
}
System.out.println();
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
//arr[j]与arr[j + 1]比较
if (arr[j] > arr[j + 1]) {
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
System.out.print("升序排列:");
for (int x : arr) {
System.out.print(x + "\t");
}
System.out.println();
}
}
补充:利用Arrays工具提供的sort()方法实现数组排序
在net.yangxinying.p02.t07包里创建XExercise02_3类
package net.yangxinying.p02.t07;
import java.util.Arrays;
import java.util.Collections;
/**
* 功能:
* 作者:杨鑫莹
* 日期:2022年04月21日
*/
public class XExercise02_3 {
public static void main(String[] args) {
//声明部分
Integer[] arr = {71, 54, 58, 29, 31, 78, 2, 77, 82};
System.out.print("原始数组:");
for (int x : arr) {
System.out.print(x + "\t");
}
System.out.println();
//调用Arrays类的sort()方法排序,默认是升序
Arrays.sort(arr);
System.out.print("升序排列:");
for (int x : arr) {
System.out.print(x + "\t");
}
System.out.println();
//调用Arrays类的sort()方法降序排列
Arrays.sort(arr, Collections.reverseOrder());
System.out.print("降序排列:");
for (int x : arr) {
System.out.print(x + "\t");
}
}
}
怎么才能实现降序排列呢?此时,我们还得传一个参数给sort()方法,这个参数是Collections.reverseOrder()。
要访问一个班的全部同学,有两种方式:一种方式是通过学号(id),相当于采用一维数组来访问;一种方式是通过座位号(row, col),相当于采用二维数组来访问。