记录程序员的点滴——今天面试被鄙视了

今天面试,让写一个冒泡排序和一个选择排序,居然没弄明白这两种算法的区别,特此发表一篇文章,以备前车之鉴!希望和我有过同样经验的,吸取经验教训。以下是对上面所说两种算法的阐述!
// 选择排序(选择排序是对两个相邻数进行比较)
public class ChoicesSort 
{
   public static void main(String[] args)
   {
      int[] a = {6,5,2,9,1};         
      sortASC(a);
      for(int i = 0;i < a.length;i++)
      {
         System.out.println("a"+i+"="+a[i]);
      }
   }

   public static void sortASC(int[] a)
   {
     int temp;
     // 进行升序排序
     for(int i=0;i<a.length;i++)
     {
       for(int j=i+1;j<a.length;j++)
       {
         if(a[i] > a[j])
         {
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;
         }
        }
     }
   } 
}



// 冒泡排序算法(每次内部的循环都和外部循环的数进行比较)

public class BubbleSort
{
   public static void main(String[] arg)
   {
      int[] a = {6,5,4,9,1};
      sortASC(a);
      for(int i=0;i<a.length;i++)
      {
            System.out.println("a"+i+"="+a[i]);
      }
   }
   
   // 选择排序算法——进行升序排列
   public static void sortASC(int[] a)
   {
     int temp;
     for(int i=0;i<a.length;i++)
     {
       for(int j=0;j<a.length-i-1;j++) 
          if(a[j]>a[j+1])
          {
             temp = a[j];
             a[j] = a[j+1];
             a[j+1] = temp;
          }      
     }           
   }
}















































你可能感兴趣的:(算法)