4.11 数组的排序操作(冒泡排序 选择排序)

//数组的排序操作
class  ArraySortDemo
{
	public static void main(String[] args) 
	{
		int[] arr={2,9,6,7,4,1};
		printArray(arr);
		swich(arr);
		printArray(arr);

	
	}
   //冒泡排序
    static void bubbleSort(int[] arr)
	  {
		//逐轮分析 总结规律
		for (int j=1;j<=arr.length-1 ;j++ )
		{
			for (int i=1; i <= arr.length-j ;i++ )
			{
				if (arr[i-1]>arr[i])
				{
					swap(arr,i-1,i);
				}
			}
		}
		/*
		for (int i=1; i <= arr.length-i ;i++ )
		{
			if (arr[i-1]>arr[i])
			{
				swap(arr,i-1,i);
			}
		}
		//第二轮
		for (int i = 1 ;i <= arr.length-2 ;i++ )
		{
			if (arr[i-1]>arr[i])
			{
				swap(arr,i-1,i);
			}
		}
		//第三轮
		for (int i = 1 ;i <= arr.length-3 ;i++ )
		{
			if (arr[i-1]>arr[i])
			{
				swap(arr,i-1,i);
			}
		}
		*/
	  }
   //选择排序
   static void swich (int[] arr)
	{
	   for (int j=0;j <=arr.length  ;j++ )
	   {
			 for (int i=j+1;i <= arr.length-1 ;i++ )
			  {
				  if (arr[j] > arr[i])
				  {
					  swap(arr,j,i);
				  }
			  }
	  }
	   
	  /* 
	  //第一轮
	  for (int i=1;i <= arr.length-1 ;i++ )
	  {
		  if (arr[0] > arr[i])
		  {
			  swap(arr,0,i);
		  }
	  }
	  //第二轮
	  for (int i=2;i <= arr.length-1 ;i++ )
	  {
		  if (arr[1] > arr[i])
		  {
			  swap(arr,1,i);
		  }
	  }
	  //第三轮
	  for (int i=3;i <= arr.length-1 ;i++ )
	  {
		  if (arr[2] > arr[i])
		  {
			  swap(arr,2,i);
		  }
	  }
	  */
    }


   //数组元素交换
	static void swap (int[] arr ,int index1,int index2)
	{
		int temp =arr[index1];
		arr[index1]=arr[index2];
		arr[index2]=temp;
	}


   //打印数组元素操作
	static void printArray(int[] arr)
	{
		if (arr == null)
		{
			System.out.println("null");
			return;
		}
		String ret = " [ ";
		for (int index = 0;index < arr.length ;index++ )
		{
			ret = ret + arr[index];
			if (index != arr.length-1)
			{
				ret = ret + ",";
			}
		}
		ret = ret + " ] ";
		System.out.println(ret);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值