`

java常用排序

    博客分类:
  • J2SE
阅读更多
class zyfsort {
    public static void main (String[] args) {
        int gohome[] = new int[]{12,7,54,21,1,4,65,76,34,9,3,6};   
        System.out.println("插入排序算法");
//        InsertionSort(gohome);
        System.out.println("-------------------------------------------");
        System.out.println("选择排序算法");
//        SelectSort(gohome);
        System.out.println("-------------------------------------------");
        System.out.println("冒泡排序算法");
//        BubbleSort(gohome);
        System.out.println("-------------------------------------------");
        gohome =QuickSort(gohome);
       
        for (int t=0; t<gohome.length;t++)
        {
            System.out.print(gohome[t]+"--");
        }
    }
   
    //插入排序算法
   public static void InsertionSort(int[] goal)
    {   
        for (int i = 1; i<goal.length; i++)
        {    int now = i;
            int frank = goal[i];           
            while (now>0 && goal[now-1] <= frank)
            {
                goal[now]=goal[now-1];
                now--;           
            }
            goal[now]=frank;
           
       
        }   
       
           
        for (int t=0; t<goal.length;t++)
        {
            System.out.print(goal[t]+"--");
        }
    }
   
    //选择排序算法   
    public static void SelectSort(int[] goal)
    {       
        int max;
        int stmp;   
        for (int i = 0; i<goal.length-1; i++)
        {
            max=i;
            for (int j = i+1; j<goal.length; j++)
                if(goal[j]>goal[max])
                    max=j;
                                   
            stmp = goal[i];
            goal[i]=goal[max];
            goal[max]=stmp;           
       
        }   
        for (int t=0; t<goal.length;t++)
        {
            System.out.print(goal[t]+"--");
        }
           
   
    }
   
    //冒泡排序算法   
    public static void BubbleSort(int[] goal)
    {    int stmp;
        for (int i = 1; i< goal.length; i++)
        {
            for(int j=0; j<i;j++)
            {
                if(goal[i]>goal[j])
                {
                    stmp=goal[i];
                    goal[i]=goal[j];
                    goal[j]=stmp;   
                }   
            }   
   
        }
        for (int t=0; t<goal.length;t++)
        {
            System.out.print(goal[t]+"--");
        }
    }
   
    //快速排序算法
    public static int[] QuickSort(int[] number) {
      QuickSort(number, 0, number.length-1);
      return number ;
      }
    private static void QuickSort(int[] number,int left, int right) {
        int stmp;
      if(left < right) {
          System.out.println(left+" | "+right+" | "+(left+right)/2);
          int s = number[(left+right)/2];
          int i = left - 1;
          int j = right + 1;
          while(true) {
                // 向右找
                while(number[++i] > s) ;
                  // 向左找
                while(number[--j] < s) ;
                  if(i >= j)
                      break;            
                stmp = number[i];
                  number[i] = number[j];
                  number[j] = stmp;             
              }
          QuickSort(number, left, i-1); // 对左边进行递回
          QuickSort(number, j+1, right); // 对右边进行递回
      }    
      }
}
分享到:
评论

相关推荐

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找

    本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...

    Java常用排序算法

    以下是关于"Java常用排序算法"的详细解释: 1. 插入排序(Insertion Sort) 插入排序是一种简单直观的排序算法,它的工作原理类似于我们日常生活中整理扑克牌的过程。算法分为两个阶段:遍历待排序的数组,将每个...

    详解Java常用排序算法-选择排序

    详解Java常用排序算法-选择排序 选择排序(Selection Sort)是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。 选择...

    详解Java常用排序算法-归并排序

    Java常用排序算法-归并排序 归并排序是一种分治思想的排序算法,其基本思想是将待排序的数组分成若干个子序列,每个子序列都是有序的,然后再将子序列合并成一个有序的数组。这种算法的时间复杂度为O(n log n),...

    Java常用排序算法程序员必须掌握的8大排序算法Java开

    本文将深入探讨Java中的八大常用排序算法,这些算法对于提升程序效率、优化数据处理具有重要意义。这8大排序算法包括:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、希尔排序以及桶排序。 1. **冒泡...

    Java常用排序算法程序员必须掌握的8大排序算法

    冒泡排序--Java常用排序算法程序员必须掌握的8大排序算法

    Java常用排序算法源码

    以下是对Java中几种常见排序算法的详细解析: 1. 冒泡排序: 冒泡排序是一种简单直观的排序算法,通过不断交换相邻的不正确顺序元素来达到排序的目的。它的时间复杂度为O(n^2),在处理大量数据时效率较低。尽管效率...

    java 常用排序算法

    总结来说,Java中常用的排序算法如Shell排序和快速排序各有特点,Shell排序适用于处理大型数据,而快速排序通常在平均情况下具有较高的效率。在实际应用中,根据数据特性选择合适的排序算法至关重要,以实现最佳性能...

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找(同步到博客).doc

    【Java 常用排序算法】排序是编程中常见的任务之一,主要分为四类:插入排序、交换排序、选择排序和归并排序。此外,还有分配排序中的基数排序。以下是对这些排序算法的详细说明: 1. **直接插入排序**: 直接插入...

    详解Java常用排序算法-桶排序

    在 Java 中,桶排序可以使用以下步骤来实现: 1. 首先,找到输入数组中的最小值和最大值,以确定桶的个数。 2. 然后,创建一个大小为桶的个数的桶列表,用于存储待排序的元素。 3. 接下来,将输入数组中的元素分配...

    详解Java常用排序算法-基数排序

    在 Java 中,基数排序可以通过以下步骤来实现: 1. 首先,找到输入数组中的最大值,并计算最大值的位数。 2. 创建一个大小为 10 的桶列表,用于存储每个桶中的元素。 3. 依次遍历输入数组,将每个元素按照其个位、...

    详解Java常用排序算法-插入排序

    在 Java 中,插入排序算法可以通过以下代码实现: ```java public class Insertion { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i ; i++) { int key = arr[i]; int ...

    Java常用排序 经典算法

    - 实例:在Java中,通过两个嵌套循环实现,外层循环控制未排序部分,内层循环用于将当前元素与已排序部分的元素进行比较并移动,直到找到合适的位置插入。 - 代码实现(部分): ```java for (int i = 1; i ; i+...

    详解Java常用排序算法-希尔排序

    在 Java 中,希尔排序可以使用以下代码实现: ```java public class Shell { public static void shellSort(int[] arr) { int n = arr.length; for (int gap = n / 2; gap &gt; 0; gap /= 2) { for (int i = gap; ...

    详解Java常用排序算法-快速排序

    在 Java 中,快速排序算法可以使用递归函数来实现。例如,下面的代码就是一个使用快速排序算法对整数数组进行排序的示例: ```java public class Quick { public static void quickSort(int[] arr, int low, int ...

    详解Java常用排序算法-冒泡排序

    Java排序算法之冒泡排序详解 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成...

    常用排序算法java演示

    本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...

Global site tag (gtag.js) - Google Analytics