冒泡排序

63 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

冒泡排序算法(稳定排序算法,稳定代表着如果有两个相同的数,排完序后相同数的位置跟之前一样不能改变)
比较相邻的元素,如果第一个比第二个大,就交换它们两个,最第一对到最后一对,最后的元素就是最大的数
34,4,56,17,90,65
4,34,17,56,65,90 第一轮,比较5次
4,17,34,56,65 第二轮,比较4次
4,17,34,56 第三轮,比较3次
4,17,34 第四轮,比较2次
4,17 第五轮,比较1次

		int[] nums = {34,4,56,17,90,65};
		int len = nums.length;
//		外循环控制轮数(长度-1次)
		for(int i = 0; i < len-1; i++) {
//			内循环进行比较
			for (int j = 0; j < len-1-i; j++) {
				if (nums[j] > nums[j+1]) {
					nums[j] = nums[j]+nums[j+1];
					nums[j+1] = nums[j]-nums[j+1];
					nums[j] = nums[j]-nums[j+1];
				}
			}
		}
//		输出结果
		for (int i : nums) {
			System.out.print(i+" ");
		}