java几种基本排序算法

1.选择排序

原理:将数组的每一个元素和第一个元素相比较,如果小于第一个元素则交换,选出第一小的,依次选出第二小,第三小的....

代码

int[] a = {1,3,2,5};
int i,j,temp;

for(i = 0; i < a.length-1; i ++) {
    temp = a[i];
    for(j = i + 1; j < a.length; j ++) {
         if(a[i] > a[j]) {
           a[i] = a[j];
           a[j] = temp;
           temp = a[i];
        }
    }
    
}
     

2.冒泡排序

原理:相邻元素比较,如果后一个元素比前一个小,则交换,把最大的排到最后

代码:

int[] a = {1,3,2,5};
int i,j,temp;

for(i=0; i < a.length -1; i ++){

    for(j=i; j < a.length -1 -i; j++){
        if(a[j] > a[j+1]) {
             temp = a[j];
             a[j] = a[j+1];
             a[j+1] = temp;
         }                  
    }

}      

3.插入排序

原理:将数组分为前后2部分,拿后半部分的第一个元素和前半部分的每一个元素比较,插入合适位置

代码:

int[]   a = {1,2,5,3};
int i,j,temp;

for(i = 1; i < length; i ++){
   temp = a[i];
   for(j = i -1;  j >=0; j --) {
      if(temp < a[j]) {
            a[j+1] = a[j];
            a[j] = temp; 
       } else {
           break;          
     }
    }
}

 

posted @ 2018-05-17 18:02  蒙子  阅读(131)  评论(0编辑  收藏  举报