(四)简单排序—冒泡排序

一、冒泡排序的思想:

1. 首先这些简单排序(包括:冒泡排序、选择排序和插入排序)针对的数据结构是数组。

2. 冒泡排序的整个思想是:

从左到右,依次对相邻的两个元素比较大小,将较大的元素移动到右侧(这里的移动其实是将较小的元素放入中间临时变量temp,将较大的移动到右侧,然后将较小的放回到左侧。当然,如果原本右边的值就大,就不需要交换位置。),当第一轮比较完后,最后一个元素即为数组中最大的元素。

接下来,进行第二轮的循环,此时就不需要对整个数组进行遍历了,只需要遍历到倒数第二个元素,因为最后一个已经排好序了。依次类推,直到将所有的元素排好序。

二、冒泡排序Java语言描述:

package com.solid.array;

public class BubbleSort {

//数组对象

private long[] arr;

//数组元素个数

private static int nElems;

/**

* 构造方法

* @param max

*/

public BubbleSort(int max) {

arr = new long[max];

nElems = 0;

}

/**

* 插入元素

* @param value

*/

public void insert(long value) {

arr[nElems] = value;

nElems++;

}

/**

* 冒泡排序算法

*/

public void bubbleSort() {

for(int i=nElems-1; i>0; i--) {

for(int j=0; j<i; j++) {

if(arr[j] > arr[j+1]) {

long temp = arr[j+1];

arr[j+1] = arr[j];

arr[j] = temp;

}

}

}

}

/**

* 显示数组中的所有元素

*/

public void display() {

for(int i=0; i<nElems; i++) {

System.out.print("arr["+i+"]=" + arr[i] + " ");

}

System.out.println();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值