`
you_java
  • 浏览: 96525 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java排序1(冒泡排序)

    博客分类:
  • java
阅读更多

 

package hello;

import java.util.Random;

/**
 *冒泡排序 时间级别:O(N*N)【注】效率低,排序速度慢
 */
class BubbleSort {

	long[] a;
	int nElems;

	// constructor
	public BubbleSort(int max) {
		a = new long[max];
		nElems = 0;
	}

	// put element into array
	public void insert(long value) {
		a[nElems] = value;
		nElems++;
	}

	// displays array contents
	public void display() {
		for (int i = 0; i < nElems; i++) {
			System.out.print(a[i] + " ");
		}
		System.out.println();
	}

	/**
	 * 思路: 将最小的数据项放在数组的最开始(数组下标为0),并将最大数据项放在
	 * 数组的最后(数组下标为nElems-1).外层for循环的计数器out从数组的
	 * 最后开始,即out等于nElems-1,每经过一次循环out-1.下标大于out的
	 * 数据项都已经是排好序的了.变量out在每完成一次内部循环(计数器为in)后 就左移一位,因此算法就不在处理那些已经排好序的数据.
	 * 内层for循环计数器in从数组的最开始算起,即in=0,每完成一次内部循环体加1,
	 * 当它等于out时结束一次循环.在内层for循环体中,数组下标为in和in+1的两个数据项
	 * 进行比较,如果下标为in的数据项大于下标为in+1的数据项,则交换两个数据项.
	 */
	public void bubbleSort() {
		int out, in;
		for (out = nElems - 1; out > 1; out--) {
			// outer loop(backward)
			for (in = 0; in < out; in++) {
				// inner loop(forward)
				if (a[in] > a[in + 1]) {// out of order?
					swap(in, in + 1);// swap them
				}
			}
		}
	}

	void swap(int one, int two) {
		long temp = a[one];
		a[one] = a[two];
		a[two] = temp;
	}
}

/*
 * 
 * 测试
 */
public class BubbleSortApp {

	public static void main(String[] args) {
		int maxSize = 100;
		BubbleSort arr = new BubbleSort(maxSize);
		Random r = new Random();
		// insert 10 items
		for (int i = 0; i < 10; i++) {
			arr.insert(r.nextInt(100));
		}
		arr.display();
		arr.bubbleSort();
		arr.display();
	}
}
分享到:
评论

相关推荐

    java基础冒泡排序.ppt

    冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...

    java 冒泡排序 数组冒泡排序

    下面我们将深入探讨冒泡排序的工作原理、Java代码实现以及其效率分析。 ### 冒泡排序的工作原理 冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误...

    JAVA排序大全 冒泡 快速 选择 归并排序

    JAVA排序大全 冒泡 快速 选择 归并排序

    java冒泡排序java冒泡排序集锦方法!

    以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...

    java GUI 实现冒泡排序

    在这个Java GUI实现的冒泡排序项目中,我们利用了NetBeans工具来设计用户界面,使用户能够直观地看到排序的过程。 首先,我们要理解冒泡排序的基本原理。冒泡排序的核心在于两两比较相邻元素,如果前一个元素大于...

    java冒泡排序代码

    java冒泡排序代码,亲测能用,控制台输入数据,自动排序

    应用Java和Python实现冒泡排序算法

    冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...

    Java排序之冒泡排序

    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至...

    java数组排序冒泡排序源代码

    java冒泡排序 代码为排序源代码 简洁明了 无其他

    java算法——冒泡排序

    * 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。

    JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序

    本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...

    java 冒泡排序方法

    ### Java冒泡排序方法详解 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到...

    用java实现冒泡排序法

    下面我们将详细介绍如何用Java实现冒泡排序及其工作原理。 冒泡排序的工作原理: 冒泡排序的基本思想是重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历序列的工作是重复地...

    java实现冒泡排序

    在Java中实现冒泡排序,我们需要定义一个方法,通常是一个公共的静态方法,因为排序不涉及对象的状态,只涉及数组或列表的元素顺序。下面是一个简单的Java冒泡排序实现: ```java public class BubbleSort { ...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本思路是使用两个for循环,外层循环控制比较的轮数,内层循环用于...

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

    java快速排序、冒泡排序、插入排序示例

    本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...

    java算法,快速排序、冒泡排序、选择排序

    java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045

    java实现最优冒泡排序

    java实现最优冒泡排序。冒泡排序的时间复杂度为O(n2)。

    Java冒泡排序算法

    ### Java冒泡排序算法知识点详解 #### 一、冒泡排序基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是...

Global site tag (gtag.js) - Google Analytics