`
shenjichao2009
  • 浏览: 96340 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java冒泡排序(升序和降序)

    博客分类:
  • Java
阅读更多

冒泡排序是简单排序方式中的一种,其排序思想为:第一个数和第二个数进行比较,如果第一个数大于第二个数,则交换位置,否则位置不变。以新的数据位置继续比较第二个数和第三个的大小,以此类推,则最终最大的数会排在最后一位,此时为升序排序;反之为降序排序。



 

/** 冒泡升序排序 **/  
public static int[] ascSort(int[] param) {  
int in, out;  
int temp = 0;  
for (out = param.length; out > 0; out--) {  
for (in = 0; in < out - 1; in++) {  
if (param[in] > param[in + 1]) {  
temp = param[in];  
param[in] = param[in + 1];  
param[in + 1] = temp;  
}  
}  
}  
return param;  
}  

 

/** 冒泡降序排序 **/  
public static int[] descSort(int[] param) {  
int in, out;  
int temp = 0;  
for (out = 0; out < param.length; out++) {  
for (in = param.length - 1; in > out; in--) {  
if (param[in] > param[in - 1]) {  
temp = param[in];  
param[in] = param[in - 1];  
param[in - 1] = temp;  
}  
}  
}  
return param;  
}  

 

执行升序和降序方法:  
public static void main(String[] args) {  
int[] param = { 1, 6, 7, 5 };  
param = ascSort(param);  
System.out.print("升序结果为:");  
for (int i = 0; i < param.length; i++) {  
System.out.print(param[i]);  
}  
System.out.println("");  
param = descSort(param);  
System.out.print("降序结果为:");  
for (int i = 0; i < param.length; i++) {  
System.out.print(param[i]);  
}  
}  

 运行结果如下:



 
注意:

1、冒泡排序的效率为O(N*N),比较次数最多为N(N-1)/2,交换次数最多为N(N-1)/2,其中N代表需要比较的数的个数;

2、冒泡排序是一种以时间换空间的排序方法,最坏的情况是把顺序的排列变成倒序,把倒序的排列变成顺序,此时每次比较运算都要进行交换;

3、冒泡排序的效率和时间复杂度有关的,时间复杂度越大,则执行的效率就越低;

4、在冒泡算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1);

5、在时间频度不相同的情况下,时间复杂度有可能是相同的,如T(n)=n*n+2n+3与T(n)=n*n+5n+10时间频度不相同,则时间复杂度都是O(n*n)

  • 大小: 34.5 KB
  • 大小: 8.6 KB
分享到:
评论

相关推荐

    java 实现冒泡排序升序降序

    使用java实现冒泡排序 1.对int数组进行排序,sortAsc 升序,sortDesc降序 2.创建main函数,声明一个int数组,随机写入一些数字 3.sortAsc进行升序排列 4.使用双重for循环进行排序,当第一个数字大于第二个数字, 则...

    java冒泡排序(可处理各种异常,选择升序还是降序)

    以下是一个简单的Java冒泡排序实现: ```java public class BubbleSort { public static void sort(int[] array, boolean ascending) { if (array == null || array.length ) { throw new ...

    java语言多种排序

    设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...

    JAVA“冒泡排序”详细说明文档

    在Java中实现冒泡排序,我们可以创建一个名为`bubbleSort`的方法,接受一个整数数组作为参数。这个方法的主要逻辑包括两部分:外层循环控制遍历数组的次数,内层循环则是进行相邻元素的比较和交换。以下是冒泡排序的...

    Java冒泡排序算法实现

    这个简单的Java冒泡排序程序对于理解排序算法的基本工作原理非常有用,同时也可以作为一个基础模板,根据实际需求进行扩展,比如支持降序排序、优化冒泡排序(如添加标志位判断是否已经完成排序等)。 在学习算法的...

    java冒泡排序

    ### Java冒泡排序详解 在计算机科学中,排序算法是数据结构与算法课程中的核心内容之一,用于将一列数据按照特定的顺序进行排列。冒泡排序(Bubble Sort)是一种简单直观的比较排序算法,其基本思想是重复地遍历要...

    java负责排序的程序包

    设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...

    java排序.txt

    本文件主要介绍了几种常用的Java排序算法(直接插入排序、冒泡排序、选择排序),并通过示例代码展示了这些算法的基本实现。不同的排序算法有各自的优缺点,适用于不同场景下的数据处理。对于开发者而言,理解这些...

    数据结构与算法(冒泡排序).ppt

    例如,对于序列{76,18,99,35,12},冒泡排序会通过多轮比较和交换,最终将序列调整为有序状态,如{12,18,35,76,99}。 冒泡排序的具体步骤如下: 1. 比较相邻的两个元素,如果前者大于后者,则交换它们的位置...

    一次循环简化冒泡排序.txt

    给定的代码片段展示了如何使用 Java 实现这种简化的冒泡排序算法。其中包含以下几个关键部分: - **主函数 main()**:定义了一个整型数组 `arr` 并调用了 `paiXu1()` 和 `paiXu2()` 函数分别进行升序和降序排序,...

    冒泡排序及讲解

    冒泡排序是一种基础且经典的排序算法,主要用于对一组数值进行升序或降序排列。它的基本思想是通过不断地比较相邻元素并交换位置,使较大的(或较小的)元素逐渐“冒”到序列的尾部,直到整个序列有序。在本案例中,...

    冒泡排序.txt

    根据给定的部分内容,我们可以看到有两个不同的冒泡排序方法实现:`bubbleSort1` 和 `bubbleSort2`。 ##### 方法一:`bubbleSort1` `bubbleSort1` 实现的是升序排序,即从小到大排列。 ```java public static int...

    Java排序算法实现:冒泡与选择排序示例代码

    Java排序算法实现主要涉及到两种经典的算法:冒泡排序和选择排序。这两种算法都是基于比较的排序方法,适用于小规模或教学目的的数据排序。 **冒泡排序(Bubble Sort)** 是一种简单直观的排序算法,其核心思想是...

    冒泡排序教程和示例代码

    冒泡排序是一种基础但经典的排序算法,主要用于对一组数据进行升序或降序排列。它的基本思想是通过不断地比较相邻元素并交换位置,使较大的(或较小的)元素逐渐“冒”到数组的一端,从而实现整个序列的有序化。 在...

    排序(java 面试编程).zip

    "排序(java 面试编程).zip"这个压缩包中包含了一个名为"Sortor.java"的源代码文件和一个"题目.txt"的文本文件,用于实现对输入的数字进行升序或降序排序的功能。下面将详细解释相关知识点。 1. **排序算法**:排序...

    【IT十八掌徐培成】Java基础第03天-04.求最值-冒泡排序.zip

    在Java中,冒泡排序的实现可以分为两种情况:升序和降序。以下是升序冒泡排序的Java代码示例: ```java public class BubbleSort { public static void bubbleSort(int[] arr) { int n = arr.length; for (int i...

    WindPro2.0-main冒泡排序demo

    冒泡排序是一种基础且经典的排序算法,主要用于对一组数据进行升序或降序排列。它得名于排序过程中较小的元素像气泡一样逐渐“浮”到数组的顶部。在WindPro2.0-main这个软件或插件中,提供了一个冒泡排序的演示示例...

    冒泡排序.docx

    冒泡排序的原理和实现 冒泡排序是一种基本的排序算法,它的原理是通过重复地比较相邻的元素,如果第一个元素比第二个元素大,就交换他们两个。这种算法的名字来源于它的工作方式,即越大的元素会经由交换慢慢“浮”...

    java各种数组排序(插入,交换,选择,归类,基数排序).pdf

    本文档主要介绍了Java中常见的五种排序算法:插入排序、交换排序(冒泡排序和快速排序)、选择排序(直接选择排序)、归并排序以及基数排序,并提供了Java代码实现。根据不同的数据规模和特性,我们可以选择合适的...

Global site tag (gtag.js) - Google Analytics