数组排序

介绍两种排序方法,冒泡法和选择法。只为了解排序算法,平时还是使用自带函数Arrays.sort(数组名)排序比较好,该方法在java.util.Arrays;包中,使用时注意import进来

 

冒泡法排序:思路是逐一对比相邻两个值之间的大小,如果下标小的数组大就对调他们的值,一轮下来就会排除数组最大的值,以此类推即可排好相应值。

做法:使用两个for嵌套循环遍历对比各个值,满足条件就对调。

	//冒泡法
	public static void arrpx1(int[] inarr)  //由于数组传递时引用的方式,所以无需返回值。
	{
		for(int a=0;a<inarr.length-1; a++)
		{
			for(int b=0;b<inarr.length-1-a; b++)
			{
				if(inarr[b] > inarr[b+1])
				{
					int temp = inarr[b];
					inarr[b] = inarr[b+1];
					inarr[b+1] = temp;
				}
			}
		}
	}

 
选择排序:思路是从下标最小的先开始逐一对比,每一轮都能排出该轮最小值;
做法:两个for嵌套循环遍历逐一对比,排除每轮的最小值,经过数组元素个数-1次比较选择后完成排序。
	//选择法
	public static void arrpx2(int[] inarr)  //由于数组传递时引用的方式,所以无需返回值。
	{
		for(int a=0;a<inarr.length-1; a++)
		{
			for(int b=a+1;b<inarr.length; b++)
			{
				if(inarr[a] > inarr[b])
				{
					int temp = inarr[a];
					inarr[a] = inarr[b];
					inarr[b] = temp;
				}
			}
		}
	}

posted on 2012-03-29 10:16  东方泛起鱼肚白  阅读(191)  评论(0编辑  收藏  举报

导航