Java之数组的冒泡排序
开发工具与关键技术:MyEclipse 10,java
撰写时间:2019-05-09
冒泡排序的过程总是将小数往前放、大数往后放,类似水中气泡往上升的动作,就称为冒泡排序
原理:对比相邻的元素值,满足条件就交换元素值,将小的元素移动到数组前面,将大的元素移动到数组后面,这样小的元素就像气泡一样从底部上升到顶部。
package com.gx.demo;
import javax.naming.ldap.SortControl;
public class ArrayTest2 {
public static void main(String[] args) {
//创建一个数组,这个数组是无序的
int[] arr1 = new int[] { 3, 1, 4, 6, 2 };
// 排序前
printArray(arr1);
// 排序
bubbleSort(arr1);
// 排序后
printArray(arr1);}
/*
* 冒泡排序:相邻的两个元素进行比较,如果符合条件换位
*/
public static void bubbleSort(int[] arr1) {
for (int x = 0; x < arr1.length-1; x++) {
for (int y = 0; y < arr1.length-x-1; y++) {//-x让每一次比较的元素减少,-1避免坐标越界
if(arr1[y]>arr1[y+1]){
int temp=arr1[y]; //将第一个元素值保存到变量中
arr1[y]=arr1[y+1]; //将第二个元素值保存到第一个单元中
arr1[y+1]=temp; //将临时变量保存到第二元素中
}}}}
//打印出结果
public static void printArray(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x != arr.length - 1) {
System.out.print(arr[x] + “,”);
} else {
System.out.print(arr[x] + “]”);}}}}
输出结果: