推荐我平时练习代码的工具,不用打开eclipse或者idea那么麻烦。
菜鸟工具
冒泡排序无非就是俩个for循环。
内嵌的for是用来求出当前数组最大或最小的那个元素
第一for是用来循环查找次最大的元素直到全部排序好。
先静态化创建数组
int[] arr = {18,13,50,15,4,17,18};
先把没排序的数组输出来,用来下次排好序比较
System.out.println("arr的各个元素是:18 13 50 15 4 17 18 ");
创建一个临时变量来辅助比较。
int temp = 0;
准备工作做好之后就可以排序了。
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]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
把排序后的数组遍历输出
System.out.println("arr排序后:");
for(int i = 0; i<arr.length; i++){
System.out.print(arr[i]+"\t");
}
最后附上所有代码,最好自己先思考一下,不然很快忘记的。
public class HelloWorld {
public static void main(String []args) {
int[] arr = {18,13,50,15,4,17,18};
System.out.println("arr的各个元素是:18 13 50 15 4 17 18 ");
int temp = 0 ;
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]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("arr排序后:");
for(int i = 0; i<arr.length; i++){
System.out.print(arr[i]+"\t");
}
}
}
2022.8.26,我来更新一下冒泡排序啦!之前学的太肤浅了,想的太以为然了,殊不知,冒泡排序也是有一定难度的排序算法。
6.4 冒泡排序
基本介绍
冒泡排序(Bubble Sort)的基本思想是:通过对排序序列从前向后(从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换,使得值比较大的元素逐渐从前向后移动,就像水底下的气泡一样逐渐向上冒。
在一维数组中随机生成100个整数,并对其进行排序,将冒泡的方法封装成一个静态方法,可以在mian方法直接调用该方法进行对数组的排序。
package com.ldm.sort;
/**
* @author 梁东明
* 2022/8/26
* 人生建议:看不懂的方法或者类记得CTRL + 点击 看看源码或者注解
* 点击setting在Editor 的File and Code Templates 修改
*/
public class BubbleSort {
public static void main(String[] args) {
//int[] arr= {3, 8, 1, 17, 9, 13};
//给有100个乱序数据的数组排序
int[] randomArray = new int[100];
//插入数据当然要遍历啦!!!
for (int i = 0; i < randomArray.length; i++) {
//如果不会使用Math接口的方法,不用担心
//我会在文章的尾部提供JDK8相关的官方接口文档,直接搜索查看就行啦!!!
randomArray[i] = (int)(Math.random()*100); //随机生成0-100的随机数
}
BubbleSortMethod(randomArray);
}
public static void BubbleSortMethod(int[] arr){
System.out.println("排序之前");
//遍历输出数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
int temp = 0;
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]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("\n"+"排序之后");
//遍历输出数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}
JDK8的官方API说明文档、有需要的同学可以下载来学习。
链接: 提取码:xxdm
你好,我是 hello,word。一个小白。后续有时间会更新其他排序。
相关文章
暂无评论...