1 //冒泡排序 把一个数组里面的数从大到小排列
2 int[] nums = new int[7] { 7, 6, 8, 5, 1, 9, 4 };
3 int temp;
4 //外循环每次把参与排序的最大数排在最后
5 for (int i = 1; i <= 6; i++)//每个数i要比几遍(第一个数比6遍,第二个数比5遍,...),即次数
6 {
7 //内层循环负责对比相邻的两个数,并把最大的排在后面
8 for (int j = 1; j <= 7 - i; j++)//7-i为趟数
9 {
10 if (nums[j] < nums[j - 1])
11 {
12 temp = nums[j];
13 nums[j] = nums[j - 1];
14 nums[j - 1] = temp;
15 }
16 }
17 }
18 for (int i = 0; i < 7; i++)
19 {
20 Console.WriteLine(nums[i]);
21 }
1 //非冒泡排序 分数由高到低排序
2 int[] players = new int[7] { 7, 6, 8, 5, 1, 9, 4 };
3 int temp;
4 for (int i = 0; i < players.Length; i++)
5 {
6 //j表示从i+1开始后面的数
7 for (int j = i + 1; j < players.Length; j++)//j先与i+1比较,再与数组剩余的数比较
8 {
9 if (players[i] < players[j])
10 {
11 //把两个数交换
12 temp = players[i];
13 players[i] = players[j];
14 players[j] = temp;
15 }
16 }
17 }
18 //打印数组
19 for (int i = 0; i < players.Length; i++)
20 {
21 Console.Write(players[i] + " ");
22 }