写算法,不只是需要看算法,而且是需要纸笔,还有一台电脑………………
选择排序
Code
1 private void getInts(ref int[] myints)
2 {
3 int low, up, index, i;
4 low = 0;
5 up = myints.Length - 1;
6 index = low;
7 while (up > low)
8 {
9 for (i = low; i < up; i++)
10 {
11 if (myints[i] > myints[i + 1])
12 {
13 changes(ref myints[i],ref myints[i + 1]);
14 index = i;
15 }
16 }
17 //从前往后扫描,将最大的踢到后面去
18 up = index;
19 for (i = up; i > low; i--)
20 {
21 if (myints[i] < myints[i - 1])
22 {
23 changes(ref myints[i], ref myints[i - 1]);
24 index = i;
25 }
26 }
27 //从最大的位置往前扫描,将最小的放到前面去
28 low = index;
29 }
30 return myints;
31 }
32 //交换两个值
33 void changes(ref int a1, ref int a2)
34 {
35 int tep = a1;
36 a1 = a2;
37 a2 = tep;
38
1 private void getInts(ref int[] myints)
2 {
3 int low, up, index, i;
4 low = 0;
5 up = myints.Length - 1;
6 index = low;
7 while (up > low)
8 {
9 for (i = low; i < up; i++)
10 {
11 if (myints[i] > myints[i + 1])
12 {
13 changes(ref myints[i],ref myints[i + 1]);
14 index = i;
15 }
16 }
17 //从前往后扫描,将最大的踢到后面去
18 up = index;
19 for (i = up; i > low; i--)
20 {
21 if (myints[i] < myints[i - 1])
22 {
23 changes(ref myints[i], ref myints[i - 1]);
24 index = i;
25 }
26 }
27 //从最大的位置往前扫描,将最小的放到前面去
28 low = index;
29 }
30 return myints;
31 }
32 //交换两个值
33 void changes(ref int a1, ref int a2)
34 {
35 int tep = a1;
36 a1 = a2;
37 a2 = tep;
38
选择排序是相当的直观,简单,挑出最值,放到开始元素……不停的放就ok了
Code
1 void changes(ref int a1, ref int a2)
2 {
3 int tep = a1;
4 a1 = a2;
5 a2 = tep;
6 }
7
8 void getSelectInts(ref int[] myints)
9 {
10 int smallest;
11 for (int i = 0; i < myints.Length-1; i++)
12 {
13 smallest = myints[i];
1 void changes(ref int a1, ref int a2)
2 {
3 int tep = a1;
4 a1 = a2;
5 a2 = tep;
6 }
7
8 void getSelectInts(ref int[] myints)
9 {
10 int smallest;
11 for (int i = 0; i < myints.Length-1; i++)
12 {
13 smallest = myints[i];
14 for (int j = i + 1; j < myints.Length; j++)
15 {
16 if (myints[j] < smallest)
17 {
18 changes(ref myints[j],ref smallest);
19 }
20 }
21 myints[i] = smallest;
22 }
23
15 {
16 if (myints[j] < smallest)
17 {
18 changes(ref myints[j],ref smallest);
19 }
20 }
21 myints[i] = smallest;
22 }
23