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

一、冒泡排序的思想:

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();

    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值