java冒泡排序
2021/12/2 20:06:43
本文主要是介绍java冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class text3 { public static void main(String[] args) { int [] arr = {12,22,14,15,18}; //调用冒泡排序的方法 int [] arr2 = bubbleSort1(arr); //调用数组遍历的方法 printArray(arr2); } //数组的遍历的方法 public static void printArray(int[] array){ for(int i=0;i<array.length;i++){ if(i==array.length-1){ System.out.println(array[i]+"]"); }else if(i==0){ System.out.print("["+array[i]+","); }else { System.out.print(array[i]+","); } } } //冒泡排序的方法定义 public static int[] bubbleSort1(int[] arr) { 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]) { int temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } } return arr; } }
以下两个可以代替上面的冒泡排序的方法定义
// 冒泡排序---进阶版1 public int[] bubbleSort2(int[] arr) { int i=arr.length-1;//初始时,最后位置保持不变 while(i>0){ int flag =0;//每趟开始时,无记录交换 for(int j=0;j<i;j++){ if (arr[j] > arr[j + 1]) { flag=j;//记录交换的位置 int temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } i=flag; //为下一趟排序作准备 } return arr; }
// 冒泡排序---进阶版2 public int[] bubbleSort3(int[] arr) { int low=0; int high=arr.length-1;//设置变量的初始值 while(low<high){ int f1 =0,f2 =0;//每趟开始时,无记录交换 for (int i= low; i< high; ++i) { //正向冒泡,找到最大者 if (arr[i]> arr[i+1]) { int tmp = arr[i]; arr[i]=arr[i+1];arr[i+1]=tmp; f1=i; } } high = f1;// 记录上次位置 for (int j=high; j>low; --j) { //反向冒泡,找到最小者 if (arr[j]<arr[j-1]) { int tmp = arr[j]; arr[j]=arr[j-1];arr[j-1]=tmp; f2=j; } } low = f2; //修改low值 } return arr; }
这篇关于java冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门