冒泡排序法(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;
}
}
其实这个方法用得比较少.对于我来说是这样的.一般都是数据库排序.但在面试中这道题目的出现率去很高.一般还有个递归算法.
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) 编辑
