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

一、选择排序

题目

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;}
}

相关内容

热门资讯

政策利好叠加交投活跃 券商业绩...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 转自:证券时报  上...
用画笔定格浪漫与幸福 这个新兴... 记录婚礼的方式都有哪些?有人选择用相机定格瞬间,也有人选择把婚礼仪式拍成一部微电影。随着个性化婚礼的...
建行本溪育建支行:一块暖心糖温...   在本溪县小镇的繁华街角,建行本溪育建支行就像一位忠实的伙伴,每天迎接着往来的客户,用专业与热情为...
1400万吨!山东能源枣矿集团... (转自:山东国资报道)通讯员 曹士刚近日,在内蒙古自治区呼伦贝尔市自然资源局,当墨迹鲜亮的《采矿许可...
建行沈阳北站团结路支行开展“消...   建行沈阳北站支行辖内团结路支行积极开展“消保知识常相伴,敬老爱老暖心间”主题活动,通过创新举措和...
以新质生产力夯实农业农村现代化... 转自:光明网-《光明日报农业是国民经济的基础,农业领域形成新质生产力是国民经济形成和发展新质生产力的...
古茗早盘涨超6% 机构指公司稳... .ct_hqimg {margin: 10px 0;} .hqimg_wrapper {text-a...
大行评级|里昂:上调明源云目标... 里昂发表报告指,该行调查显示,中国房地产市场在上半年仍然疲弱,预计明源云今年收入增长亦会受阻。然而,...
赛意信息跌2.03%,成交额1... 7月2日,赛意信息盘中下跌2.03%,截至11:14,报26.52元/股,成交1.22亿元,换手率1...
苹果“沉浸式虚拟显示”专利曝光...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 来源:环球网【环球网...