1. 快排
package excptionTest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class mainExcption {
/**
* @param args
*/
public static void main(String[] args){
//声明数组
int[] nums = {27, 8, 57, 9, 23, 41, 65, 19, 0, 1, 2, 4, 5};
//应用快速排序方法
quickSort(nums, 0, nums.length-1);
//显示排序后的数组
for(int i = 0; i < nums.length; ++i) {
System.out.print(nums[i] + ",");
}
System.out.println("");
}
private static void quickSort(int[] nums, int i, int j) {
int left = i;
int right =j;
int temp = 0;
boolean r_or_l = true;
if(left>=right){
return;
}
while(left<right){
if(nums[left]>nums[right]){
temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
r_or_l = r_or_l?false:true;
}
if(r_or_l){
right--;
} else {
left++;
}
}
left-=1;
right+=1;
System.out.println(right+" "+left);
quickSort(nums, 0, left);
quickSort(nums, right, j);
}
}
2. 冒泡
package excptionTest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class mainExcption {
/**
* @param args
*/
public static void main(String[] args){
//声明数组
int[] nums = {27, 8, 57, 9, 23, 41, 65, 19, 0, 1, 2, 4, 5};
quickSort(nums);
//显示排序后的数组
for(int i = 0; i < nums.length; ++i) {
System.out.print(nums[i] + ",");
}
System.out.println("");
}
private static void quickSort(int[] nums) {
int temp = 0;
boolean jump = true;
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length;j++){
if(nums[i]<nums[j]){
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
jump = false;
}
}
if(jump){
break;
}
}
}
}
分享到:
相关推荐
在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现冒泡排序和快速排序。类的结构可能如下: ```java public class MaopaoKuaisu { public...
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
下面我们将深入探讨冒泡排序的工作原理、Java代码实现以及其效率分析。 ### 冒泡排序的工作原理 冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误...
以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...
堆排序和快速排序在中大规模数据上表现良好,但快速排序的不稳定性和堆排序的空间复杂度是需要注意的问题;归并排序和希尔排序在稳定性上有优势,而桶排序则对输入数据分布有特定要求。在实际应用中,根据数据特性...
本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...
本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...
- 可能会对比冒泡排序与其他排序算法(如快速排序、归并排序等)的优劣。 - 也可能涉及冒泡排序的变种,如鸡尾酒排序(双向冒泡排序)等。 通过学习这个PPT,你将能够理解冒泡排序的基本思想,掌握其Java实现,...
- 在最坏的情况下,冒泡排序的时间复杂度为O(n^2),与快速排序等高效算法相比性能较差。 #### 六、适用场景 由于冒泡排序的效率较低,通常不适用于大数据量的排序任务。但在数据量较小或者几乎已经排好序的情况下...
下面我们将详细介绍如何用Java实现冒泡排序及其工作原理。 冒泡排序的工作原理: 冒泡排序的基本思想是重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历序列的工作是重复地...
冒泡排序与二分查找法的结合可能出现在这样的场景:当序列已排序时,我们可以使用二分查找法来快速定位特定元素。二分查找法的基本思想是将序列分为两半,每次都检查中间元素,根据目标值与中间值的比较结果,缩小...
JAVA排序大全 冒泡 快速 选择 归并排序
总的来说,冒泡排序是一种直观且易于理解的排序方法,虽然在效率上不如其他高级排序算法(如快速排序、归并排序等),但它仍然是算法学习过程中的一个重要组成部分,帮助我们理解排序的基本逻辑和过程。
在实际编程中,Java还提供了其他的排序算法实现,如`Arrays.sort()`方法,它是基于快速排序和插入排序的混合算法,性能优于冒泡排序,适用于大多数情况。然而,理解并实现冒泡排序有助于初学者掌握排序算法的基本...
排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht
《冒泡排序与快速排序的交互动画》课程设计是一个基于Java编程语言的项目,它通过图形化的方式展示了这两种基础排序算法的工作原理。这个项目利用了JavaFX库,这是一个强大的工具,可以创建丰富的用户界面和交互式...
本主题将详细介绍三种基本的排序算法:快速排序、选择排序和冒泡排序,以及它们在Java中的实现。 1. **快速排序**: 快速排序是一种高效的分治算法,由C.A.R. Hoare在1960年提出。其主要思想是通过一趟排序将待排...
Java 中的排序算法包括冒泡排序、快速排序等,而查找算法则有二分查找等。这些算法都是 Java 开发中非常重要的基础知识。本文将对冒泡排序、快速排序、二分查找进行详细的分析和图解。 冒泡排序 冒泡排序是一种...
### 冒泡排序、快速排序和二分法查找的分析:Java实现 #### 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列...