java冒泡排序 和 选择法

冒泡排序:

这可能是最简单的排序算法了,算法思想是每次从数组末端开始比较相邻两元素,把第i小的冒泡到数组的第i个位置。i从0一直到N-1从而完成排序。(当然也可以从数组开始端开始比较相邻两元素,把第i大的冒泡到数组的第N-i个位置。i从0一直到N-1从而完成排序。)

 

public int[] SelectSort(int pArray[]) {
  int temp;
  for(int i=0;i<pArray.length-1;i++){ 
   for(int j=i+1;j<pArray.length;j++){ 
    if(pArray[i]>pArray[j]){ 
     temp = pArray[i];
     pArray[i] = pArray[j];
     pArray[j] = temp ; 
    } 
   } 
  } 
  return pArray;
  
 }

 

选择排序
选择排序相对于冒泡来说,它不是每次发现逆序都交换,而是在找到全局第i小的时候记下该元素位置,最后跟第i个元素交换,从而保证数组最终的有序。
相对与插入排序来说,选择排序每次选出的都是全局第i小的,不会调整前i个元素了。

 

 

 
 public int[] BubbleSort(int pArray[]) {
  int temp,i,j;
  for (j=0;j<pArray.length-1;j++){ 
   for(i=0;i<pArray.length-1-j;i++){ 
    if(pArray[i]>pArray[i+1]){
     temp = pArray[i]; 
     pArray[i] = pArray[i+1]; 
     pArray[i+1] = temp; 
    }
   } 
  }
  return pArray;
 }
 

你可能感兴趣的:(Java冒泡排序)