首页 > 编程语言 > 详细

使用冒泡排序法对数组排序

时间:2017-03-16 03:30:00      阅读:327      评论:0      收藏:0      [点我收藏+]
int[] array = new int[10];
		//生成随机数对象
		Random random = new Random();
		for (int i = 0; i < array.length; i++) {
			array[i] = random.nextInt(50);
			System.out.print(array[i]+" ");
		}
		System.out.println("\n排序后:");
		
		for (int i = 1; i < array.length; i++) {
			//比较两个相邻的元素,较大的数往后冒泡
			for (int j = 0; j < array.length - i; j++) {
				if (array[j]>array[j+1]) {
					//把第一个元素值保存到临时变量中
					int temp = array[j];
					//把第二个元素值保存到第一个元素中去
					array[j] = array[j+1];
					//把临时变量也就是第一个元素原值保存在第二个元素中去
					array[j+1] = temp;
				}
			}
			for (int j = array.length-i; j < array.length ; j++) {
				System.out.print(array[j]+" ");
			}
			System.out.println();
		}

//冒泡排序的基本思想是:

对比相邻的元素值,如果条件满足就交换元素值,把较小的元素移到数组前面,把大的元素移到后面,这样数组就像气泡一样从底部上升到顶部。


//实现过程:

在双层循环中实现,外层循环控制排序轮数,要排序数组长度-1次;内层循环用于对比临近两个元素的大小,以确定是否要交换位置,对比和交换次数依排序轮数而减少。

如图例所示:

技术分享

本文出自 “IT菜鸟” 博客,请务必保留此出处http://mazongfei.blog.51cto.com/3174958/1907002

使用冒泡排序法对数组排序

原文:http://mazongfei.blog.51cto.com/3174958/1907002

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!