冒泡排序——算法
Posted 流星小子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序——算法相关的知识,希望对你有一定的参考价值。
计算机经典算法 ——冒泡排序(降序排序)
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace SortTest 7 { 8 class Program 9 { 10 /* 11 * 降序排列 12 */ 13 static void Sort(int[] iNum) 14 { 15 for (int i = 0; i < iNum.Length;i++ ) 16 { 17 for (int j=i+1;j<iNum.Length;j++) 18 { 19 int temp =0; 20 if (iNum[i]<iNum[j]) 21 { 22 temp = iNum[i]; 23 iNum[i] = iNum[j]; 24 iNum[j] = temp; 25 } 26 } 27 } 28 } 29 static void PrintNumber(int[] iNums) 30 { 31 Console.Write("数组的顺序: "); 32 foreach (var iNum in iNums) 33 { 34 Console.Write(iNum+ " "); 35 } 36 Console.WriteLine(); 37 } 38 static void Main(string[] args) 39 { 40 int[] iNumber = { 9, 6, 7, 8}; 41 PrintNumber(iNumber); 42 Sort(iNumber); 43 PrintNumber(iNumber); 44 Console.ReadKey(); 45 } 46 } 47 }
2.冒泡排序(升序排序)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace AscendingSort { class Program { /************************************************************************/ /* 升序排列 */ /************************************************************************/ static void AscSort(int[] iNum) { for (int i = 0; i < iNum.Length;i++ ) { for (int j = iNum.Length - 1; j > i; j--) { if (iNum[i]>iNum[j]) { int temp = 0; temp = iNum[i]; iNum[i] = iNum[j]; iNum[j] = temp; } } } } static void PrintNumber(int[] iNums) { Console.Write("数组的顺序: "); foreach (var iNum in iNums) { Console.Write(iNum + " "); } Console.WriteLine(); } static void Main(string[] args) { int[] iNumber = { 9, 6, 7, 8 }; PrintNumber(iNumber); AscSort(iNumber); PrintNumber(iNumber); Console.ReadKey(); } } }
另一种升序排序写法
/// <summary> /// 升序排列 /// </summary> /// <param name="iNum"></param> static void Bubble(int[] iNum) { int temp = 0; for (int i = iNum.Length; i > 0; i--) { for (int j = 0; j < i - 1; j++) { if (iNum[j] > iNum[j + 1]) { temp = iNum[j]; iNum[j] = iNum[j + 1]; iNum[j + 1] = temp; } } } }
以上是关于冒泡排序——算法的主要内容,如果未能解决你的问题,请参考以下文章
算法漫游指北(第七篇):冒泡排序冒泡排序算法描述动图演示代码实现过程分析时间复杂度和选择排序算法描述动图演示代码实现过程分析时间复杂度