目录
任务2、数组排序(升序和降序排列)1、选择法排序(1)选择法排序含义(2)选择法排序实现步骤2、冒泡法排序(1)冒泡法排序含义(2)冒泡法排序实现步骤补充:利用Arrays工具提供的sort()方法实现数组排序任务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;/*** 功能:* 作者:杨鑫莹* 日期: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),相当于采用二维数组来访问。
如果觉得《java——数组排序(升序和降序排列)》对你有帮助,请点赞、收藏,并留下你的观点哦!