冒泡排序思想:
较大的记录往下沉淀。
/**
* 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#源代码 使用C#实现的数据结构中的排序算法
数据结构 综合排序 冒泡排序 直接插入排序 快速排序 希尔排序,完整的代码,有每种排序时间的比较
C# 常用经典算法,选择排序 冒泡排序 快速排序 插入排序 希尔排序
插入排序 冒泡排序 堆排序 基数排序 选择排序 快速排序的源码 java实现
这是自己写的排序的程序 数据结构 选择排序 直接排序 冒泡排序
关于c#的一些算法 选择排序 冒泡排序 快速排序 插入排序 希尔排序 归并排序 基数排序 计数排序。。。
C# 插入排序 冒泡排序 选择排序 快速排序 堆排序 归并排序 基数排序 希尔排序
呵呵,传上来供大家学习使用~8种排序算法 包括:选择排序 冒泡排序 快速排序 等~~
插入排序 冒泡排序 快速排序 选择排序演示软件
关 于 数 据 结 构 中 冒 泡 排 序 的 具 体 说 明
快速排序 基础排序 冒泡排序 插入排序 快速排序 双路快速排序 三路快速排序 堆排序.zip
java快速排序 归并排序 冒泡排序 选择排序
选择排序 归并排序 冒泡排序 堆排序 快速排序 等排序算法c++实现以及其效率比较 包括源代码