码迷,mamicode.com
首页 > 编程语言 > 详细

java选择排序和冒泡排序

时间:2015-08-20 23:48:30      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

public class Choose{
 public static void main(String[] args){
  int[] arr = {4,6,7,3,1,6};
   Select a = new Select();
   a.sort1(arr);
   System.out.println("选择排序后:");
   for(int i=0;i<arr.length;i++){
    System.out.print(arr[i]);
    }
    a.sort2(arr);
    System.out.println("");
    System.out.println("冒泡排序后:");
    for(int j=0;j<arr.length;j++){
      System.out.print(arr[j]);
      }
    
     
   }

}

/**
//*选择排序基本思想:在每次循环过程中,选出一个最小值,指针依次下移。第一步:选择一个在

小的值放在数组0的位置上,第二次选择//第*二小的放在数组下标为为1的位置上
*/

class Select{
public static void sort1(int arr[]){
for(int i=0;i<arr.length-1;i++){
   for(int j=i+1;j<arr.length;j++){
    if(arr[i]>arr[j]){
        //交换位置
         int temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
         }
     }
   }
   // return arr;
 }


/**
*冒泡排序的基本思想:在第一次循环中,前一个数和第二个数进行比较,小的前移,一次循环结束

之后,确定了最大的数在最后面。
*/
public static void sort2(int arr[]){
  for(int i=0;i<arr.length;i++){
   for(int j=i;j<arr.length-i-1;j++){
     if(arr[j]>arr[j+1]){
       int temp = arr[j];
       arr[j] = arr[j+1];
       arr[j+1] = temp;
       }
     }
   }
}

}

 

 

当然java中也可以进行快速排序,不过建议自己不要写快速排序,因为java提供了很多类库,直接调用就行省出了很多写代码的必要。对于排序的方法,直接调用sort方法即可。

在对数组操作中,要注意的问题有角标越级问题,在写排序方法中,可以直接还回数组,这时候方法的还回值类型要设置成数组类型。下面以数组还回值类型为例写一下简单的代码。

class A{
public static int[] sort1(int arr[]){
for(int i=0;i<arr.length-1;i++){
   for(int j=i+1;j<arr.length;j++){
    if(arr[i]>arr[j]){
        //交换位置
         int temp = arr[i];
         arr[i] = arr[j];
         arr[j] = temp;
         }
     }
   }
    return arr;
 }
}

public class Back{
public static void main(String[] arg){
  A a = new A();
  int[] arr ={4,6,1,3,9};
 System.out.println(a.sort1(arr));

 }

}

java选择排序和冒泡排序

标签:

原文地址:http://www.cnblogs.com/laok/p/4746427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!