21xrx.com
2024-11-22 07:03:40 Friday
登录
文章检索 我的文章 写文章
Java排序算法代码大全
2023-06-11 00:16:02 深夜i     --     --
Java 排序算法 代码

Java作为一门广泛应用的编程语言,其排序算法具有重要的意义。排序算法是计算机科学中的基础和经典问题,其目的是将一组元素按照某种规则进行排序。Java提供了多种排序算法,本文将为您介绍Java常用排序算法的代码实现。

1. 冒泡排序

冒泡排序是一种基础的排序算法。其核心思想是通过多次比较相邻两个元素的大小,逐步将较大(小)的元素移动到数组的末尾。以下是Java实现冒泡排序的代码:


public static void bubbleSort(int[] arr){

  int temp;

  for(int i=0;i

    for(int j=0;j

      if(arr[j]>arr[j+1]){

        temp=arr[j];

        arr[j]=arr[j+1];

        arr[j+1]=temp;

      }

    }

  }

}

2. 快速排序

快速排序是一种常用的排序算法,其核心思想是通过选取一个基准值,按照大小将元素分为两个部分,递归地对这两部分进行排序。以下是Java实现快速排序的代码:


public static void quickSort(int[] arr,int low,int high){

  int i,j,temp,t;

  if(low>high)

    return ;

  

  i=low;

  j=high;

  temp=arr[low];

  while(i

    while(temp<=arr[j]&&i

      j--;

    

    while(temp>=arr[i]&&i

      i++;

    }

    if(i

      t=arr[i];

      arr[i]=arr[j];

      arr[j]=t;

    }

  }

  arr[low]=arr[i];

  arr[i]=temp;

  quickSort(arr,low,j-1);

  quickSort(arr,j+1,high);

}

3. 合并排序

合并排序是将待排序的序列分成若干个子序列,每个子序列都是有序的,然后把这些有序的子序列合并成一个有序的序列。以下是Java实现合并排序的代码:


public static void merge(int[] arr,int left,int right,int[] temp){

  if(left

    int mid=(left+right)/2;

    merge(arr,left,mid,temp);

    merge(arr,mid+1,right,temp);

    mergeSort(arr,left,mid,right,temp);

  }

}

public static void mergeSort(int[] arr,int left,int mid,int right,int[] temp){

  int i=left;

  int j=mid+1;

  int t=0;

  while(i<=mid&&j<=right){

    if(arr[i]<=arr[j]){

      temp[t++]=arr[i++];

    }else{

      temp[t++]=arr[j++];

    }

  }

  while(i<=mid){

    temp[t++]=arr[i++];

  }

  while(j<=right){

    temp[t++]=arr[j++];

  }

  t=0;

  while(left<=right){

    arr[left++]=temp[t++];

  }

}

以上是Java实现排序算法的代码实现,这些代码都是基于Java语言来实现的,当然在实际应用过程中还需要根据实际情况进行优化。希望本文能够为您提供一些参考。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复