编写一个采用冒泡法对n个数由小到大进行排序的函数
收起
知与谁同
2018-07-18 16:19:26
4306
0
1
条回答
写回答
取消
提交回答
-
static void BubbleSort(int[] ia){
// 外层循环控制遍历次数
for (int i = 0; i < ia.Length - 1; i++) {
// 内层循环控制最大值沉下去,最小值慢慢浮上来
// 如第1次,第一大的沉下去,第2次,第二大的沉下去,依此类推...
// 大的沉下去,那么小的自然就浮上来
// ia.Length - 1 - i这句代码的意思是:经过每次交换后,沉下去的
// 就不用再比较,所以减i,减1是因为数组的索引从0开始
for (int j = 0; j < ia.Length - 1 - i; j++) {
if (ia[j] > ia[j+1]){
int temp = ia[j];
ia[j] = ia[j + 1];
ia[j + 1] = temp;
}
}
}
}
public const int MaxValue = 10;
static void Main(string[] args){
int[] ia = new int[MaxValue];
for (int i = 0; i < MaxValue; i++){ // 随机产生MaxValue个数字
ia[i]=new Random().Next(1, 101);
System.Threading.Thread.Sleep(50);
}
BubbleSort(ia);
foreach (var item in ia){
Console.WriteLine(item);
}
Console.ReadKey(true);
}
2019-07-17 22:49:58