递归实现冒泡排序
面试遇到写冒泡排序问题,当时只说没写。
Code
1using System;
2using System.Collections.Generic;
3using System.Text;
4using System.Threading;
5
6namespace ConsoleApplication1
7{
8 class maopaodiguipaixu
9 {
10
11 public static void sortay(int[] sz, int i)
12 {
13 if (i == sz.Length) return;
14
15 int midint;
16 for (int j = sz.Length - 1; j > i; j--)
17 {
18
19 if (sz[j] > sz[j - 1]) //小于号为从小到大,反之为从大到小
20 {
21
22 midint = sz[j];
23 sz[j] = sz[j - 1];
24 sz[j - 1] = midint;
25 }
26 }
27
28
29 sortay(sz, i + 1);
30 }
31
32
33
34
35 static void Main()
36 {
37 int[] ay ={ 3, 39, 19, 14, 0, 7 };
38
39 sortay(ay, 0);
40
41 Console.Write("排序结果为:");
42 foreach(int a in ay)
43
44 Console.Write("{0} ", a);
45
46 Thread.Sleep(9000);
47
48 }
49 }
50}
1using System;
2using System.Collections.Generic;
3using System.Text;
4using System.Threading;
5
6namespace ConsoleApplication1
7{
8 class maopaodiguipaixu
9 {
10
11 public static void sortay(int[] sz, int i)
12 {
13 if (i == sz.Length) return;
14
15 int midint;
16 for (int j = sz.Length - 1; j > i; j--)
17 {
18
19 if (sz[j] > sz[j - 1]) //小于号为从小到大,反之为从大到小
20 {
21
22 midint = sz[j];
23 sz[j] = sz[j - 1];
24 sz[j - 1] = midint;
25 }
26 }
27
28
29 sortay(sz, i + 1);
30 }
31
32
33
34
35 static void Main()
36 {
37 int[] ay ={ 3, 39, 19, 14, 0, 7 };
38
39 sortay(ay, 0);
40
41 Console.Write("排序结果为:");
42 foreach(int a in ay)
43
44 Console.Write("{0} ", a);
45
46 Thread.Sleep(9000);
47
48 }
49 }
50}