C#,冒泡排序算法
冒泡排序算法,就像泡泡一样慢慢的从水底冒出来。这个算法需要内外两个循环,外循环是得到每次比较的数组,外比较次数=数组长度-1.
这样理解,例如10个数只要其他的9个位置确定了最后一个位置也就确定了,所以外比较的次数就是数组长度减去1.
内循环主要是对数组内相邻两个数字的比较,如果后面比前面的大,则交换位置,以此类推,最小的在此次循环就排在最前面啦。
小的垫在底下,大的就慢慢的冒出来囖。
下面的具体算法实现,结果从小到大:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Private static void Pop() { Int[ ] arrSort=new int[] { 24,34,12,4,17,11,32,16,57,49}; For(int i=1;i<=arrSort.Length-1;i++) //--外循环,得到每次比较的数组 { For(int j=arrSort.Length;j>=i;j--) //--内循环,上次外循环得到最小的就不需要再比较啦 { If(arrSort[j]<arrSort[j-1]) { Int temp=arrSort[j]; arrSort[j]=arrSort[j-1]; arrSort[j-1]=temp; } } } } |