排序算法_
创始人
2024-05-13 06:30:19

一、选择排序

题目

arr[0~N-1]范围上,找到最小值所在的位置,然后把最小值交换到0位置。
arr[1~N-1]范围上,找到最小值所在的位置,然后把最小值交换到1位置。
arr[2~N-1]范围上,找到最小值所在的位置,然后把最小值交换到2位置。

arr[N-1~N-1]范围上,找到最小值位置,然后把最小值交换到N-1位置。

代码

package sort;public class SelectionSort {public int[] selectionSort(int[] arr) {if (arr == null) {return null;}for (int i = 0; i < arr.length - 1; i++) {int index = i;for (int j = i + 1; j < arr.length; j++) {if (arr[index] > arr[j]) {index = j;}}swap(arr, i, index);}return arr;}public void swap(int[] arr, int a, int b) {int num = arr[a];arr[a] = arr[b];arr[b] = num;}
}

二、冒泡排序

题目

在arr[0~N-1]范围上:
arr[0]和arr[1],谁大谁来到1位置;arr[1]和arr[2],谁大谁来到2位置…arr[N-2]和arr[N-1],谁大谁来到N-1位置
在arr[0~N-2]范围上,重复上面的过程,但最后一步是arr[N-3]和arr[N-2],谁大谁来到N-2位置
在arr[0~N-3]范围上,重复上面的过程,但最后一步是arr[N-4]和arr[N-3],谁大谁来到N-3位置

最后在arr[0~1]范围上,重复上面的过程,但最后一步是arr[0]和arr[1],谁大谁来到1位置

代码

package sort;public class BubbleSort {public int[] bubbleSort(int[] arr) {if (arr == null) {return null;}for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {swap(arr, j, j + 1);}}}return arr;}public void swap(int[] arr, int a, int b) {int num = arr[a];arr[a] = arr[b];arr[b] = num;}
}

三、插入排序

题目

想让arr[0~0]上有序,这个范围只有一个数,当然是有序的。
想让arr[0~1]上有序,所以从arr[1]开始往前看,如果arr[1]
想让arr[0~i]上有序,所以从arr[i]开始往前看,arr[i]这个数不停向左移动,一直移动到左边的数字不再比自己大,停止移动。
最后一步,想让arr[0~N-1]上有序,arr[N-1]这个数不停向左移动,一直移动到左边的数字不再比自己大,停止移动。

代码

package sort;public class InsertionSort {public int[] insertionSort(int[] arr) {if (arr == null) {return null;}for (int i = 1; i < arr.length; i++) {for (int j = i; j > 0 && arr[j] < arr[j - 1]; j--) {swap(arr, j, j - 1);}}return arr;}public void swap(int[] arr, int a, int b) {int num = arr[a];arr[a] = arr[b];arr[b] = num;}
}

相关内容

热门资讯

日本民众举行“抗议高市”集会,...   10日晚间,约2.7万名日本民众聚集在东京的国会议事堂周边,手持彩色荧光棒举行名为“国会前行动:...
AI眼中的世界杯8强:14个模...   世界杯进入最后冲刺阶段,冠军争夺已经进入白热化。而在球场之外,另一场“比赛”也迎来关键阶段如今,...
中国石化宣布完成对中国航油的重... (来源:长江日报)记者从中国石化新闻办获悉,中国石化宣布完成对中国航油的重组工作,中国航油正式成为中...
史诗级回收!科技股行情是撤退还... 周五的行情体会就三个字——挫败感。见证航天事业重大突破的同时,也承受着账户缩水的现实。这是资金转移到...
4100亿跌到1000亿,Mi... 解禁期将至,MiniMax再迎大考。文|金玙璠编辑|魏佳来源|定焦One(ID:dingjiaoon...