liqiang665

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  27 Posts :: 0 Stories :: 14 Comments :: 3 Trackbacks

公告

2009年8月14日 #

冒泡排序法(java)
其实这个方法用得比较少.对于我来说是这样的.一般都是数据库排序.但在面试中这道题目的出现率去很高.一般还有个递归算法.
public class lee0908143
{
 public static void main(String[] args)
 {
  int[] intNum={20,10,50,40,30,70,60,80,90,100}; //需要排序的数组
  lee0908143 lee=new lee0908143();
  intNum=lee.bubbleUp(intNum,true);
  System.out.println("从小到大排序为:");
  for(int k=0;k<intNum.length;k++)
  System.out.println(intNum[k]);
  
  intNum=lee.bubbleUp(intNum,false);
  System.out.println("从小到大排序为:");
  for(int k=0;k<intNum.length;k++)
  System.out.println(intNum[k]); 
 }
 //冒泡排序方法intarray表示需要排序的数组 directmintomax=true表示排序从小到大
 private int[] bubbleUp(int[] intarray,boolean directmintomax)
 {
  for(int i=0;i<intarray.length;i++)
  {
   for(int j=i+1;j<intarray.length;j++)
   {
    if(directmintomax)
    {
     //从小到大排序
     if(intarray[i]>intarray[j])
     {
      int intTemp=intarray[i];
      intarray[i]=intarray[j];
      intarray[j]=intTemp;
     }
    }
    else
    {
     //从大到小排序
     if(intarray[i]<intarray[j])
     {
      int intTemp=intarray[i];
      intarray[i]=intarray[j];
      intarray[j]=intTemp;
     }
    }
   }
  }
  return intarray;
 }
}
posted @ 2009-08-14 15:45 青铜时代 阅读(411) 评论(0) 编辑