`
570421779
  • 浏览: 46548 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JAVA快速排序&&冒泡排序

阅读更多
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冒泡排序和快速排序算法

    在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现冒泡排序和快速排序。类的结构可能如下: ```java public class MaopaoKuaisu { public...

    java算法,快速排序、冒泡排序、选择排序

    java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045

    java 冒泡排序 数组冒泡排序

    下面我们将深入探讨冒泡排序的工作原理、Java代码实现以及其效率分析。 ### 冒泡排序的工作原理 冒泡排序的基本思想是,重复地走访过要排序的元素列表,依次比较相邻的两个元素,如果它们的顺序(如从小到大)错误...

    java冒泡排序java冒泡排序集锦方法!

    以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...

    java版冒泡排序,插入排序,堆排序,快速排序,归并排序,希尔排序,桶排序

    堆排序和快速排序在中大规模数据上表现良好,但快速排序的不稳定性和堆排序的空间复杂度是需要注意的问题;归并排序和希尔排序在稳定性上有优势,而桶排序则对输入数据分布有特定要求。在实际应用中,根据数据特性...

    java快速排序、冒泡排序、插入排序示例

    本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...

    JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序

    本文将深入探讨Java编程语言中实现的七种主要排序算法:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序以及归并排序。每种算法都有其独特性,适用于不同的场景和数据特性。 1. **直接插入排序**:...

    java 冒泡排序法 PPT文档

    - 可能会对比冒泡排序与其他排序算法(如快速排序、归并排序等)的优劣。 - 也可能涉及冒泡排序的变种,如鸡尾酒排序(双向冒泡排序)等。 通过学习这个PPT,你将能够理解冒泡排序的基本思想,掌握其Java实现,...

    Java冒泡排序算法

    - 在最坏的情况下,冒泡排序的时间复杂度为O(n^2),与快速排序等高效算法相比性能较差。 #### 六、适用场景 由于冒泡排序的效率较低,通常不适用于大数据量的排序任务。但在数据量较小或者几乎已经排好序的情况下...

    用java实现冒泡排序法

    下面我们将详细介绍如何用Java实现冒泡排序及其工作原理。 冒泡排序的工作原理: 冒泡排序的基本思想是重复地遍历待排序的序列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历序列的工作是重复地...

    JAVA冒泡排序及其优化

    冒泡排序与二分查找法的结合可能出现在这样的场景:当序列已排序时,我们可以使用二分查找法来快速定位特定元素。二分查找法的基本思想是将序列分为两半,每次都检查中间元素,根据目标值与中间值的比较结果,缩小...

    JAVA排序大全 冒泡 快速 选择 归并排序

    JAVA排序大全 冒泡 快速 选择 归并排序

    java冒泡排序泡排序的详细讲解

    总的来说,冒泡排序是一种直观且易于理解的排序方法,虽然在效率上不如其他高级排序算法(如快速排序、归并排序等),但它仍然是算法学习过程中的一个重要组成部分,帮助我们理解排序的基本逻辑和过程。

    java实现冒泡排序

    在实际编程中,Java还提供了其他的排序算法实现,如`Arrays.sort()`方法,它是基于快速排序和插入排序的混合算法,性能优于冒泡排序,适用于大多数情况。然而,理解并实现冒泡排序有助于初学者掌握排序算法的基本...

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序.mht

    课程设计《冒泡排序和快速排序的交互动画》图形化显示

    《冒泡排序与快速排序的交互动画》课程设计是一个基于Java编程语言的项目,它通过图形化的方式展示了这两种基础排序算法的工作原理。这个项目利用了JavaFX库,这是一个强大的工具,可以创建丰富的用户界面和交互式...

    JAVA快速,选择,冒泡数组排序

    本主题将详细介绍三种基本的排序算法:快速排序、选择排序和冒泡排序,以及它们在Java中的实现。 1. **快速排序**: 快速排序是一种高效的分治算法,由C.A.R. Hoare在1960年提出。其主要思想是通过一趟排序将待排...

    java冒泡排序、快速排序、二分查找

    Java 中的排序算法包括冒泡排序、快速排序等,而查找算法则有二分查找等。这些算法都是 Java 开发中非常重要的基础知识。本文将对冒泡排序、快速排序、二分查找进行详细的分析和图解。 冒泡排序 冒泡排序是一种...

    冒泡排序、快速排序和二分法查找的分析 Java

    ### 冒泡排序、快速排序和二分法查找的分析:Java实现 #### 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列...

Global site tag (gtag.js) - Google Analytics