Java算法之冒泡排序算法及算法思想

public class Bubblesort{
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[] sort = {10,14,3,13,53,23,88,123,48,100};
		/*
		 * 冒泡排序:
		 * 		升序排序
		 */
		for(int i=0;i<sort.length-1;i++) {
			for(int j=0;j<sort.length-1;j++) {
				if(sort[j]>sort[j+1]) {
					int replace = sort[j];
					sort[j] = sort[j+1];
					sort[j+1] = replace;
				}
			}
		}
		for(int i=0;i<sort.length;i++) {
			System.out.print(sort[i]+"\t");
		}
		
		System.out.println();	//对升序排序和降序排序之间使用空白行进行隔开
		/*
		 * 		降序排序
		 */
		for(int i=0;i<sort.length-1;i++) {
			for(int j=0;j<sort.length-1;j++) {
				if(sort[j]<sort[j+1]) {
					int replace = sort[j];
					sort[j] = sort[j+1];
					sort[j+1] = replace;
				}
			}
		}
		for(int i=0;i<sort.length;i++) {
			System.out.print(sort[i]+"\t");
		}
		
		/*
		 * 冒泡排序思想:
		 * 		int[] sort = {10,14,3,13,53,23,88,123,48,100};
		 */
//		1.首先使用for循环判断要排序的遍数,可以使用[SortName.length]来识别数组的空间长度长度(-1是因为数组的下标是从0开始计算的,length-1后就是数组空间的实际下标长度)
//		2.内层循环指定数组的最大下标长度(上面已经说过了,数组的下标是从0开始计算的,-1以后就是数组空间的实际下标长度,不然会出现数组长度溢出的异常错误信息。)
//		3.使用if判断数组下标0>或者<下标1,如果满足条件,则进行替换,替换后数组空间数组值的位置也会发生相应的改变;然后完成升序或降序的排序法则;
//		4.这里需要注意一下,我们定义了一个外层的for循环和一个内层的for循环,这里需要明白一个问题就是“外层循环循环一次,内层循环循环一遍”,
//		这里外层循环要循环9层,为什么是9次,因为length的数组空间为10,但数组空间的下标长度是从0开始,所以我们要进行length-1就是9次;
//		外层循环每循环一次内层循环就要从0下标开始进行一次排序,直到比较n-1与n次为止(n是数组下标空间的最大下标长度。);外层循环每循环一次,
//		内层循环就会排序一次,外层循环要从0开始一直到9结束,内层循环也会从0开始,与最大的下标进行比较,直到内层循环和外层循环都不再满足条件,
//		循环结束,排序也就结束了,最终会进根据比较,从大到小,或者从小到大进行打印输出。
	}
}

输出效果:

升序排序
3    10    13    14    23    48    53    88    100    123
降序排序
123    100    88    53    48    23    14    13    10    3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值