/**
* 冒泡排序和快速排序
*/
public class SwapSort {
public static void main(String[] args) {
int[] data = {261,53,48,11,13,48,32,15};
// bubbleSort(data);
quickSort(data);
for(int a: data){
System.out.print(a+" ");
}
}
/**
* 冒泡排序
*/
public static void bubbleSort(int[] r){
for(int i=1; i< r.length; i++){//n-1次循环
for(int j=0; j< r.length - i; j++){//逐步缩小冒泡范围
if(r[j] > r[j+1]){
int temp = r[j];
r[j] = r[j+1];
r[j+1] = temp;
}
}
}
}
/**
* 快速排序
*/
public static void quickSort(int[] r){
quickSort(r, 0, r.length -1);
}
/**
* 快速排序
*/
public static void quickSort(int[] r, int low, int high){
if(low < high){
int pa = partition(r, low, high);
quickSort(r, low, pa - 1);
quickSort(r, pa + 1, high);
}
}
/**
* 划分
*/
private static int partition(int[] r, int low, int high){
int pivot = r[low];//数轴元素
while(low < high){//从两端交替向内扫描
while(low < high && r[high] >= pivot){
high--;
}
r[low] = r[high];//将比pivot小的元素移向低端
while(low < high && r[low] <= pivot){
low++;
}
r[high] = r[low];//将比pivot大的元素移向高端
}
r[low] = pivot;//设置数轴
return low;//返回数轴元素位置
}
}
分享到:
相关推荐
JAVA冒泡排序和快速排序算法,符合实验报告要求哦
VC++多线程实现三种排序算法比较----冒泡排序、快速排序、归并排序,很有意思,可以下载看看!
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
1冒泡排序 2改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序 3进一步改进的冒泡排序,如果在某次冒泡过程中,最后一次进行交换的位置为flag,则表示flag之后的序列已经有序,那么下一次冒泡就...
选择排序 冒泡排序 插入排序 合并排序 快速排序算法原理及代码实现 不同排序算法时间效率的经验分析方法 验证理论分析与经验分析的一致性 当面临巨大数据量的排序的时候,还是优先选择合并排序算法和快速排序算法。...
在STM8S003单片机上实现数组排序,用3种冒泡排序法对数组进行排序,并通过串口打印排序过程。
数据结构---直接插入排序/快速排序/选择排序/冒泡排序(详细实现算法和性能比较)
数据结构(c语言版)严蔚敏 吴伟民编著 中直接插入排序、折半排序、shell排序、冒泡排序、快速排序、选择排序、堆排序的实现、归并排序,使用c语言实现
Java语言实现冒泡排序和快速排序的交互动画,是我的课程设计,内附文档ppt以及源码,可以直接运行。利用javafx中的柱状图进行实现。
用java实现冒泡排序算法,开发者必会的几种算法
选择排序、插入排序、冒泡排序以及快速排序和归并排序的C语言实现,绝对可用
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
用C++语言实现的几个常见算法,里面有注解,方便大家理解,简单易学,都可以正常编译运行。
冒泡排序原理和JAVA实现,冒泡排序原理和JAVA实现
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
一个简单的算法效率对比,实验证明,快速排序的效率比冒泡的效率高出很多啊!
java实现的冒泡排序 很简单一看就懂
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
此外,文档还包括一个逐步指南,介绍了如何在Java中实现冒泡排序,包括详细的代码示例和实现细节。 文档还涵盖了高级主题,如如何优化代码以提高性能以及如何处理大的数组。该资源包括实用练习,让读者可以练习在...
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。