import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;
public class BubbleSort {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] a = new int[8];
for (int i = 0; i < 8; i++) {
a[i] = in.nextInt();
System.out.print(a[i]+" ");
}
bubbleSort(a);
}
// 将前面额冒泡排序算法,封装成一个方法
public static void bubbleSort(int[] arr) {
// 冒泡排序 的时间复杂度 O(n^2), 自己写出
int temp = 0; // 临时变量
int flag=1;
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]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=0;
}
}
if (flag==1)
{
break;
}
System.out.println();
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[j] + " ");
}
flag=1;
}
}
}
得到案例答案的冒泡代码是怎么编写的应该怎么修改
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 江韵 2022-11-12 22:31关注
//冒泡排序(BubbleSort) /*思想: 1.比较相邻的两个元素。如果第一个元素比第二个元素大(升序),就交换他俩 2.对每一对相邻元素做同样的工作,从开始第一对到结尾最后一对。这一步完成后最后的元素会是最大的数 3.针对所有元素重复以上步骤,每次都是除了最后i个 4.重复以上操作直至排序完成 */ public static void bubbleSort(int[] arr){ for (int i = 0;i < arr.length - 1;i++){ for (int j = 0;j < arr.length - 1 - i;j++){ if(arr[j] > arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } System.out.println("冒泡排序结果:"); for (int i : arr) { System.out.print(arr[i-1]+" "); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误
- ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
- ¥100 H5网页如何调用微信扫一扫功能?
- ¥15 讲解电路图,付费求解
- ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
- ¥15 three.js添加后处理以后模型锯齿化严重