首页 > 编程语言 >java 实现冒泡排序

java 实现冒泡排序

时间:2022-09-04 10:25:59浏览次数:71  
标签:java 实现 ++ Arrays 冒泡排序 int length tag arr1

  1. 先循环一次将数组内部的最大元素排序到最后一位
import java.util.Arrays; 
public class Main {
	public static void main(String[] args) {
		int[] arr1 = {2, 5, 8, 4, 3};
		for (int i = 0; i < arr1.length - 1 ; i++){
            int tag ;
            if(arr1[i] > arr1[i+1]){
                tag = arr1[i];
                arr1[i] = arr1[i+1];
                arr1[i+1] = tag;
            }
		} 

	     System.out.println(Arrays.toString(arr1)); // [2, 5, 4, 3, 8]

	}
}
  1. 我们在上面经过一次循环将8排序到了最后一位, 如果想将5排序到倒数第二位, 应该再走一次循环
import java.util.Arrays; 
public class Main {
	public static void main(String[] args) {
		int[] arr1 = {2, 5, 8, 4, 3};
		for (int i = 0; i < arr1.length - 1 ; i++){
            int tag ;
            if(arr1[i] > arr1[i+1]){
                tag = arr1[i];
                arr1[i] = arr1[i+1];
                arr1[i+1] = tag;
            }
		} 
	     System.out.println(Arrays.toString(arr1)); // [2, 5, 4, 3, 8]
		
		// 这里 -2 的目的是因为最后一位已经是排列的好的了, 不用再排序了
         for (int i = 0; i < arr1.length - 2 ; i++){
            int tag ;
            if(arr1[i] > arr1[i+1]){
                tag = arr1[i];
                arr1[i] = arr1[i+1];
                arr1[i+1] = tag;
            }
		} 
	     System.out.println(Arrays.toString(arr1)); // [2, 4, 3, 5, 8]

	}
}
  1. 思考一下, 如果我想将剩下的 3 个元素排序是不是还要执行三遍的循环呢
import java.util.Arrays; 
public class Main {

    // 排序方法实现
    private static void sort (){
        int[] arr1 = {2, 5, 8, 4, 3};

        for(int j = 0; j < arr1.length - 1; j++){
            for (int i = 0; i < arr1.length -1 - j ; i++){
                int tag ;
                if(arr1[i] > arr1[i+1]){
                    tag = arr1[i];
                    arr1[i] = arr1[i+1];
                    arr1[i+1] = tag;
                }
		    }  
        }
      
	    System.out.println("排序结果" + Arrays.toString(arr1));
    }

	public static void main(String[] args) {
		int[] arr1 = {2, 5, 8, 4, 3};

		for (int i = 0; i < arr1.length - 1 ; i++){
            int tag ;
            if(arr1[i] > arr1[i+1]){
                tag = arr1[i];
                arr1[i] = arr1[i+1];
                arr1[i+1] = tag;
            }
		} 
	     System.out.println(Arrays.toString(arr1));

         for (int i = 0; i < arr1.length - 2 ; i++){
            int tag ;
            if(arr1[i] > arr1[i+1]){
                tag = arr1[i];
                arr1[i] = arr1[i+1];
                arr1[i+1] = tag;
            }
		} 
	    System.out.println(Arrays.toString(arr1));

        Main.sort();
	}

 
}

代码地址

标签:java,实现,++,Arrays,冒泡排序,int,length,tag,arr1
From: https://www.cnblogs.com/shiazhen/p/16654380.html

相关文章

  • Java实现Excel导入导出操作详解
    前言本次封装是基于POI的二次开发,最终使用只需要调用一个工具类中的方法,就能满足业务中绝大部门的导入和导出需求。1.功能测试1.1测试准备在做测试前,我们需要將【2......
  • 前端拖拽的简单实现
    鼠标按下拖动松开时鼠标的位置分析:  <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content=......
  • [数据结构10分钟入门] 面向初学者从零实现(基于C语言)-- 单链表
    ​一、链表是什么    链表是一种通过指针串联在一起的线性结构,在内存中是分散存储的(数组在内存中连续分布),链表由一系列节点组成,每个节点都由数据域和指针域组成。主......
  • 《Java编程思想》读书笔记(四)
    前言:三年之前就买了《Java编程思想》这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第十七章到第十......
  • java基础2
    1.为什么要有类的继承性?(继承性的好处)*①减少了代码的冗余,提高了代码的复用性*②便于功能的扩展*③为之后多态性的使用,提供了前提图示:  2.继承性的格式:clas......
  • java基础
      1.基础常识软件:即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件和应用软件 系统软件:windows,macos,linux,unix,android,ios,....应用......
  • Java Script面向对象详解(一`)
    JavaScript面向对象详解(一)ES6之前的JavaScript面向对象比较不好理解,涉及到很多知识和思想。ES6增加了class和extends来实现类的封装和继承,但是通过babel转换成ES5之后......
  • JavaScript详解(一)
    回顾前端三要素HTML(结构):超文本标记语言(HyperTextMarkupLanguage)决定网页结构和内容CSS(表现):层叠样式表(CascadingStyleSheets),设定网页的表现形式JavaScript(行......
  • JavaScript详解(二)
    面向对象原型对象类模板原型对象对象具体的实例原型varStudent={name:"xiaoqiang",age:3,run:functio......
  • Python实现XMind测试用例快速转Excel用例
    转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.top/c2d10f21.html你好,我是测试蔡坨坨。今天分享一个Python编写的小工具,实现XMind测试用例转Excel用例。前言XMi......