[数据结构与算法]冒泡排序笔记
2014-05-23 01:13 hellenism 阅读(316) 评论(0) 编辑 收藏 举报/// <summary> /// 冒泡排序 /// /// 步骤: /// 从前往后依次比较两个相邻的气泡的重量,若发现轻的则向下(前),重的向上(后),即交换二者位置 /// 第一趟比较,最重的气泡被换到了elem[n-1]处 /// 第二趟比较,次最重的气泡被换到了elem[n-2]处 /// 所以经过n-1趟或者气泡不再需要交换,则排序完成 /// </summary> /// <param name="elements"></param> static void BubbleSort(int[] elements) { int temp = 0; // 临时记录 // 从前向后比较两个相邻气泡的大小,如果前者比后者大,则交换两者位置 // 经过n-1趟冒泡或者某趟冒泡不再有元素交换,则排序完成 for (int i = 0; i < elements.Length-1; i++) { for (int j = 0; j < elements.Length - 1- i; j++) { if (elements[j + 1] < elements[j]) // 如果前者比后者大,则交换 { temp = elements[j + 1]; elements[j + 1] = elements[j]; elements[j] = temp; } } } }
稳定性:稳定.
最坏时间复杂度:O(n^2)
平均时间复杂度:O(n^2)
人生就是一局不能Again的DOTA