排序算法---交换排序
2022/3/19 22:30:06
本文主要是介绍排序算法---交换排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.1冒泡排序
1.1.1基本介绍:
冒泡排序(Bubble Sorting)的基本思想是:通过将排序序列从前向后从下标小的元素开始,依次比较相邻元素的值,若发现逆序则交换,使得值相对较大的元素逐渐从前移动到后,像是水里的泡泡一样沉得往下落,轻的向上冒。
优化:当如果其中一趟冒泡排序没有进行交换时,则说明序列有序,此时就无需在进行排序。也就是说可以在排序过程中设置一个标志flag判断元素是否进行过叫唤。从而提升排序效率。
1.1.2代码实现:
package DataStructure; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int[] num = {20,9,-1,20,49}; BubbleSort(num); System.out.println(Arrays.toString(num)); } public static void BubbleSort(int[] array) { //冒泡排序的时间复杂度一般为O(n²) int temp = 0; boolean flag = false;//标识变量 表示是否进行交换 for(int i=0;i<array.length-1;i++){ for(int j=0;j<array.length-1-i;j++) { if(array[j]>array[j+1]) { flag = true; temp=array[j]; array[j] = array[j+1]; array[j+1] = temp; } } if(!flag) {//该趟排序中 没有发生交换 break; }else { flag = false;//重置flag!!! 进行下次判断 } } } }
这篇关于排序算法---交换排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南
- 2024-12-21功能权限实战:新手入门指南