冒泡排序思想:
较大的记录往下沉淀。
/**
* SimpleBubbleSort.java
*
* 冒泡排序。
*
* @author Administrator
*/
public class SimpleBubbleSort {
public static void simpleBubbleSort(int[] a) {
for (int i = a.length; i > 1; i--)
for (int j = 0; j < i - 1; j++)
if (a[j] > a[j + 1])
Util.swap(a, j, j + 1);
}
public static void main(String[] args) throws Exception {
if (args.length == 0) {
System.out.println("请输入数字以空格隔开");
System.exit(-1);
}
int[] a = new int[args.length];
for (int i = 0; i < args.length; i++)
a[i] = Integer.parseInt(args[i]);
simpleBubbleSort(a);
// 输出排序后的数组元素。
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
}
改进型冒泡排序:
/**
* EnhancedBubbleSort.java
*
* 改进型冒泡排序。
*
* @author Administrator
*/
public class EnhancedBubbleSort {
public static void enhancedBubbleSort(int[] a) {
int i = a.length - 1;
while (i > 0) { // 表明上一趟曾进行过记录交换
int lastExchangedIndex = 0;
for (int j = 0; j < i; j++)
if (a[j] > a[j + 1]) {
Util.swap(a, j, j + 1);
lastExchangedIndex = j;
}
i = lastExchangedIndex; // 一趟排序中无序序列最后一个元素的位置
}
}
public static void main(String[] args) throws Exception {
if (args.length == 0) {
System.out.println("请输入数字以空格隔开");
System.exit(-1);
}
int[] a = new int[args.length];
for (int i = 0; i < args.length; i++)
a[i] = Integer.parseInt(args[i]);
enhancedBubbleSort(a);
// 输出排序后的数组元素。
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
}
分享到:
相关推荐
采用c++描述了各种排序算法,包括选择排序 冒泡排序 插入排序 基数排序 快速排序 归并排序 。实验内容 1、创建排序类。 2、提供操作:选择排序、冒泡排序、插入排序、*基数排序、*快速排序、*归并排序。 3、*能够...
直接插入排序 选择排序 堆排序 归并排序 快速排序 冒泡排序等七种排序方法
交换排序 选择排序 冒泡排序 插入排序
本文将深入探讨四种在C++中实现的常见排序算法:插入排序、冒泡排序、堆排序和快速排序。这些算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程能力至关重要。 1. **插入排序**: 插入排序是一种简单的...
这是自己写的排序的程序 数据结构 选择排序 直接排序 冒泡排序
本资源包"选择排序 冒泡排序 插入排序 快速排序 堆排序.zip"聚焦于五种经典的排序算法,包括选择排序、冒泡排序、插入排序、快速排序以及堆排序。这些算法的实现语言是Objective-C,这是一种强大的面向对象的编程...
直接插入排序、冒泡排序、快速排序、直接选择排序、堆排序和二路归并排序是计算机科学中经典的排序算法,它们在数据处理和算法学习中占有重要地位。这些排序算法各有特点,适用场景不同,下面将逐一详细介绍,并结合...
本文将深入探讨四种常见的排序算法:快速排序、归并排序、冒泡排序和选择排序。这些算法不仅在理论上有其重要性,而且在实际编程项目中也经常被用到。 ### 快速排序 快速排序是由英国计算机科学家C.A.R. Hoare提出...
根据提供的文件信息,我们可以深入探讨几种经典的排序算法:冒泡排序、直接插入排序、快速排序以及希尔排序。这些算法在数据结构与算法课程中是非常重要的基础内容,它们各自有着独特的特性和应用场景。 ### 1. ...
冒泡排序是一种基础且经典的排序算法,它的基本思想是通过不断地交换相邻的逆序元素来逐步将序列调整为有序状态。这个过程就像水底下的气泡一样,小的元素逐渐“浮”到序列的顶端。在本压缩包“各种排序 冒泡排序....
关 于 数 据 结 构 中 冒 泡 排 序 的 具 体 说 明
### 冒泡排序知识点解析 #### 一、冒泡排序简介 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复进行的...
本资源包含了几种常见的排序算法,包括堆排序、选择排序、冒泡排序、归并排序和插入排序。这些排序算法各有特点,适用于不同的场景,并且在理解它们的工作原理后,能够帮助初学者更好地掌握编程基础。 1. **堆排序*...
这里我们汇总了七种常见的排序算法:Shell排序、归并排序、选择排序、快速排序、堆排序、冒泡排序和插入排序。每种算法都有其独特的特点和适用场景,下面将逐一详细介绍。 1. **Shell排序**:由Donald Shell提出,...
- 特点:冒泡排序是一种稳定的排序方法,无论相同元素的相对位置如何,排序后的顺序都不会改变。其最坏、最好和平均时间复杂度均为O(n²)。 - VB6.0实现:通过两层嵌套循环,外层循环控制比较的轮数,内层循环用于...
快速排序、冒泡排序、监视哨以及折半查找是计算机科学中非常重要的基础算法,对于理解和应用编程至关重要,特别是对于参与ACM(国际大学生程序设计竞赛)或其他算法竞赛的程序员来说,这些都是必须掌握的核心技能。...
冒泡排序、选择排序和插入排序是三种基本的排序算法,它们都是在计算机科学中用于组织数据的关键技术。这些算法的实现通常用作教学示例,帮助初学者理解排序过程和时间复杂性。 **冒泡排序(Bubble Sort)**: 冒泡...
以下是关于四种经典排序算法——插入排序、冒泡排序、快速排序和选择排序的详细解释,以及它们在多线程环境下的应用考虑。 1. **插入排序**:插入排序是一种简单直观的排序算法,它的工作原理类似于人们玩扑克牌时...
java冒泡排序 代码为排序源代码 简洁明了 无其他
根据给定的文件信息,我们将深入探讨几种经典的排序算法,包括选择排序、冒泡排序、交换排序、希尔排序、插入排序以及基数排序。这些算法在计算机科学领域内有着广泛的应用,各自具有独特的特点和适用场景。 ### 1....