21xrx.com
2025-03-17 00:59:48 Monday
文章检索 我的文章 写文章
Java排序算法代码大全
2023-06-11 00:16:02 深夜i     9     0
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语言来实现的,当然在实际应用过程中还需要根据实际情况进行优化。希望本文能够为您提供一些参考。

  
  

评论区