用冒泡法对引用类型开展排序

用冒泡法对引用类型进行排序

              这篇博文涉及到的知识点:

              1、定义引用类型的数组

              2、为引用类型添加了一个比较的方法Compare

              3、重写了toString方法

              4、用到了冒泡排序

             源代码如下:

public class TestDateSort
{
	public static void main(String args[])
	{
		Date[] d=new Date[5];
		d[0]=new Date(2006,5,4);
		d[1]=new Date(2006,7,4);
		d[2]=new Date(2008,5,4);
		d[3]=new Date(2004,5,9);
		d[4]=new Date(2004,5,4);
		
		bubbleSort(d);
		
		for(int i=0;i<=d.length-1;i++)
		{
			System.out.println(d[i]);
		}
	}
	
	//用冒泡排序法,进行排序
	public static void bubbleSort(Date[] d)
	{
		for(int i=d.length-1;i>=1;i--)
		{
			for(int j=0;j<i;j++)
			{
				if(d[j].Compare(d[j+1])>0)
				{
					Date temp;
					temp=d[j];d[j]=d[j+1];d[j+1]=temp;
				}
			}
		}
	}
}

class Date
{
	int year,month,day;
	Date(int y,int m,int d)
	{
		year=y;month=m;day=d;
	}
	
	//定义一个比较的方法
	public int Compare(Date date)
	{
		return year>date.year?1
				:year<date.year?-1
				:month>date.month?1
				:month<date.month?-1
				:day>date.day?1
				:day<date.day?-1:0;
	}
	//重写toString方法
	public String toString()
	{
		return "year-month-day:"+year+"-"+month+"-"+day;
	}
}


运行效果如图所示:

 用冒泡法对引用类型开展排序

 

 

代码中的那个compare方法写的挺另类的,不过我想大家应该可以看懂!

1楼wangboxian昨天 20:59
顶了,外面好好的啊
Re: yjjm1990昨天 21:39
回复wangboxiann嗯啊!