栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

什么是冒泡排序,选择排序,快速排序(冒泡排序的核心)

什么是冒泡排序,选择排序,快速排序(冒泡排序的核心)

简述

冒泡排序:依次比较相邻的数据,将小数据放在前,大数据放在后;即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;第二趟则将次大的数滚动到倒数第二个位置…第n-1(n为无序数据的个数)趟即能完成排序

以下面5个无序的数据为例:40 8 15 18 12


第1趟: 8 15 18 12 40
第2趟: 8 15 12 18 40
第3趟: 8 12 15 18 40
第4趟: 8 12 15 18 40


运行代码
	public void bubbleSort() {
		boolean tempSwapped;
		DataNode tempNode;
		for (int i = length - 1; i > 1; i--) {
			tempSwapped = false;
			for (int j = 0; j < i; j++) {
				if (data[j].key > data[j + 1].key) {
					// Swap.
					tempNode = data[j + 1];
					data[j + 1] = data[j];
					data[j] = tempNode;

					tempSwapped = true;
				} // Of if
			} // Of for j

			// No Swap in this round. The data are already sorted.
			if (!tempSwapped) {
				System.out.println("Premature");
				break;
			} // Of if

			System.out.println("Round " + (length - i));
			System.out.println(this);
		} // Of for i
	}// Of bubbleSort

	
	public static void bubbleSortTest() {
		int[] tempUnsortedKeys = { 1, 3, 6, 10, 7, 5, 9 };
		String[] tempContents = { "if", "then", "else", "switch", "case", "for", "while" };
		DataArray tempDataArray = new DataArray(tempUnsortedKeys, tempContents);

		System.out.println(tempDataArray);

		tempDataArray.bubbleSort();
		System.out.println("Resultrn" + tempDataArray);
	}// Of bubbleSortTest
运行结果
-------bubbleSortTest-------
-------bubbleSortTest-------
I am a data array with 7 items.
(1, if)  (3, then)  (6, else)  (10, switch)  (7, case)  (5, for)  (9, while)  
Round 1
I am a data array with 7 items.
(1, if)  (3, then)  (6, else)  (7, case)  (5, for)  (9, while)  (10, switch)  
Round 2
I am a data array with 7 items.
(1, if)  (3, then)  (6, else)  (5, for)  (7, case)  (9, while)  (10, switch)  
Round 3
I am a data array with 7 items.
(1, if)  (3, then)  (5, for)  (6, else)  (7, case)  (9, while)  (10, switch)  
Premature
Result
I am a data array with 7 items.
(1, if)  (3, then)  (5, for)  (6, else)  (7, case)  (9, while)  (10, switch)  
 


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/771701.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号