1.交换排序
交换排序的基本思想是:两两比较待排序记录,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。
应用交换排序的方法有:冒泡排序,快速排序。
冒泡排序:
最好时间复杂度为:o(n)
最坏时间复杂度为:o(n2)
平均时间复杂度为:o(n2)
稳定性:就地排序,且是稳定的
/**
* 冒泡排序
* 特征:第一次外循环得到最大(小)的值,第二次外循环得到次大(小)的值.......
* 若在某一趟排序中未发现气泡位置的交换,则说明已排好序,因此可终止循环继续向下执行。
* 引入布尔型变量exchange,排序开始前将其置为false,若排序过程中发生了交换,则将其置为true。
* 各趟排序结束时检查exchange,若为false,则终止算法。
*/
public static void bubbleSort(int[] source){
boolean exchange;
//扫描次数为n-1次
for(int i = source.length-1; i > 0; i--){
exchange = false;
//两两数值比较
for(int j = 0; j < i; j++){
//第一位与第二位比较,第二位与第三位比较....
if(source[j] > source[j+1]){
int temp = source[j+1];
source[j+1] = source[j];
source[j] = temp;
exchange = true;
}
}
if(!exchange){//本趟排序未发生交换,提前终止算法
return;
}
}
}
快速排序:
分享到:
相关推荐
排序算法,JAVA中的快速排序,交换排序,冒泡排序,选择排序等算法的分析
Java所有排序算法大全 Java所有排序算法大全 Java所有排序算法大全 Java所有排序算法大全
Java排序算法实现资源 这个资源是关于Java中排序算法实现的简单示例。排序算法是计算机科学中的基础概念,用于按升序或降序排列数据集。这里提供了两种常见的排序算法实现:冒泡排序和选择排序。 冒泡排序(Bubble ...
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
java排序算法使用及场景说明 文档后面有一些别人的链接,多在google上搜索Java排序算法,及维基百科上面也有很全的算法介绍。
Java排序算法实现 Java排序算法实现 Java排序算法实现
java实现的常用的几种基本排序算法,插入、交换、选择、归并
Java各种排序算法代码.rar
Java常用排序算法源码 稳定:冒泡排序、插入排序、归并排序和基数排序;不稳定:选择排序、快速排序、希尔排序、堆排序
Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找 Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法java各种排序算法
Java语言实现的选择排序算法,代码里头有详细注释,注释皆为简单英文,因为这个算法比较简单,欢迎新手下载学习使用,欢迎后期的学习交流!
Java 快速排序,目前来说效率很高的一种排序算法,好理解。
Java常见排序算法源码集,包括了字符、数字、数组的常用排序算法,是初学者非常不错的Java排序参考代码。
java各种排序算法的源代码,新鲜程度是决定蔬菜价值的重要指标,蔬菜在采摘后仍是鲜活的有机体,因此需要采用冷藏运输降低蔬菜的呼吸和蒸腾作用,保持蔬菜新鲜度。
Java常用排序算法 Java常用排序算法 Java常用排序算法 Java常用排序算法
java 常见排序算法的实现 有冒泡、选择、快速、比较等常见的排序算法 还包括二叉树的实现
Java各种排序算法Java各种排序算法Java各种排序算法
java 常用排序算法 java 常用排序算法 java 常用排序算法