`
greemranqq
  • 浏览: 975408 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
阅读更多
/**
 * 冒泡算法 复杂度:N^2 
 * 原理:相邻两个元素比较,大的一个后移
 * 比如:站一排的士兵,从左第一个开始跟右边的比较,高就交换位置,然后左的第二个又与第三个比   较,类推 比如:水里面的气泡,大的肯定是浮水最快的 (见图)
 * 
 * @author @Ran
 */
public class Bubble extends AbstractSort<Object> {
	
	public <T extends Comparable<? super T>> T[] sort(T[] t) {
		for (int i = 0; i < t.length; i++) {
			for (int j = i + 1; j < t.length; j++) {
				// 如果前一个元素比后一个元素大,则交换位置
				commpare(t, i, j);
			}
		}
		return t;
	}
}

 

这个 基础算法应该都好理解,网上找了下图,方便理解:


 

上面的代码 可以自己写main 测试,也可以用第排序算法(0)--初步设计 篇里面介绍的测试。

 

 

  • 大小: 836.1 KB
0
3
分享到:
评论

相关推荐

    C语言排序算法---冒泡排序法

    冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的...

    排序算法 -- 冒泡排序

    冒泡排序是一种基础且经典的排序算法,它的基本思想是通过不断地交换相邻的逆序元素,使得每一轮排序后,最大的元素“浮”到数组的末尾。这个过程就像水底下的气泡逐渐升至水面一样,因此得名“冒泡排序”。 在Java...

    VC++多线程实现三种排序算法比较----冒泡排序、快速排序、归并排序

    首先,冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。尽管冒泡...

    TIA博途-冒泡排序SCL算法-全局FC库文件-V15版本.zip

    冒泡排序是一种简单的排序算法,它重复地遍历待排序的列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行直到没有再需要交换,也就是说该列表已经排序完成。这个算法的名字由来...

    排序算法实现-支持插值排序+选择排序+冒泡排序-sort.zip

    **冒泡排序**是最基础的排序算法之一,它通过不断地交换相邻的逆序元素来逐步推进排序。在每一轮迭代中,最大的元素会“冒泡”到数组的末尾。这个过程重复n-1轮,每轮都能确保一个元素到达正确位置。冒泡排序的时间...

    排序算法汇总--各类排序算法

    排序算法:排序算法汇总--各类排序算法 冒泡,选择,插入,快排,归并,堆排

    最快的排序算法 计算机最快的算法-史上14个最快速算法:孩子的计算能力爆表!大脑堪比计算机!...,排序算法数据结构

    冒泡排序算法是一种简单的排序算法,它的工作原理是通过不断地比较相邻元素,并交换它们以达到排序的目的。冒泡排序算法的时间复杂度为O(n^2),因此它适合小规模的数据排序。 2.选择排序算法 选择排序算法也是一种...

    冒泡排序-排序过程 冒泡排序-排序过程

    冒泡排序是一种简单的排序算法,其基本思想是通过重复地遍历要排序的列表,比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素,也就是说该列表已经...

    算法设计与分析-1排序算法性能分析-冒泡/选择/插入/合并/快速排序-pre ppt

    本篇文章将详细讨论几种常见的排序算法:选择排序、冒泡排序、插入排序、合并排序以及快速排序,分析它们的算法原理、时间效率,并通过经验分析验证理论分析的准确性。 **1. 选择排序(Selection Sort)** 选择排序...

    matlab排序算法实现-合并排序、简单选择排序、快速排序、冒泡排序、直接插入排序

    将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序。...本资源通过matlab实现合并排序、简单选择排序、快速排序、冒泡排序、直接插入排序5种常用的排序算法,并部分绘制代表算法原理的动图。

    Python算法之---冒泡,选择,插入排序算法.py

    Python算法之---冒泡,选择,插入排序算法.py

    各类排序算法整理--C语言描述--本人编写

    各类排序算法整理--C语言描述--本人编写 排序算法种类有: 冒泡 快速排序 堆排序 希尔排序 插入排序 选择排序 二路归并排序

    C语言冒泡、插入法、选择排序算法分析-word版本

    冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换,也就是说该数列已经排序完成。 - **比较次数...

    c++排序算法-冒泡排序

    冒泡排序是一种基础且经典的计算机科学排序算法,尤其在C++编程中常见。它通过不断地比较相邻元素并根据需要进行交换,逐步将较大的元素“冒泡”到序列的末尾,从而实现升序排列。这一过程可以理解为一个逐层推进的...

    数据结构--九种排序算法 --排序001.cpp

    此文件为数据结构中的九种排序算法,包含一些排序方法的过程,其九种排序包括:直接插入排序,折半插入排序,希尔排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,基数排序!

    排序算法--免费

    在计算机科学领域,排序算法是数据处理的核心技术之一,它涉及到如何有效地重新排列一组数据,使其按照特定的顺序(如升序或降序)排列。本文将深入探讨标题和描述中提到的一些基本排序算法,包括选择排序、冒泡排序...

    快速排序算法和冒泡排序效率对比

    快速排序和冒泡排序是两种常见的排序算法,它们在计算机科学中扮演着重要的角色,特别是在数据处理和优化程序性能方面。本篇文章将深入探讨这两种排序算法的原理、效率以及它们在C#编程语言中的实现。 首先,让我们...

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

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

    经典算法的C#源码实现

    经典排序算法 - 冒泡排序Bubble sort 经典排序算法 - 选择排序Selection sort 经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - ...

    c语言排序方式2-冒泡排序算法

    一种简单的的排序方式---冒泡排序,本资源为其源代码

Global site tag (gtag.js) - Google Analytics