如果你要进好公司,首先学好数据结构和算法。
1 private int[] getMaxOrder(int[] myints)
2 {
3 int length = myints.Length;
4 for (int i = 0; i < length-1; i++)
5 {
6 for (int j = i + 1; j < length; j++)
7 {
8 if (myints[i] < myints[j])
9 {
10 int tmp = myints[i];
11 myints[i] = myints[j];
12 myints[j] = tmp;
13 }
14 }
15 }
16 return myints;
17
我决定重新学习算法,摆脱失业状态
冒泡排序是最基础的算法了,但是我还是看了半个小时,痛不欲生ing
其实原理很简单,以一个数组int[]来从大到小排序。
首先,做一个算法,将一个int[] 中最大的数放到第一个
1 private int[] getMaxIntInTheFirst(int[] myints)
2 {
3 for (int i = 1; i < myints.Length; i++)
4 {
5 //如果数组某个数字大于数组第一个数字,则将两个数字交换
6 if (myints[i] > myints[0])
7 {
8 int tem = myints[0];
9 myints[0] = myints[i];
10 myints[i] = tem;
11 }
12 //遍历这个数组,就可以将最大的换到最前面
13 }
14 }
2 {
3 for (int i = 1; i < myints.Length; i++)
4 {
5 //如果数组某个数字大于数组第一个数字,则将两个数字交换
6 if (myints[i] > myints[0])
7 {
8 int tem = myints[0];
9 myints[0] = myints[i];
10 myints[i] = tem;
11 }
12 //遍历这个数组,就可以将最大的换到最前面
13 }
14 }
冒泡算法实现的不只是将一个最大的数字放到最前面,而是将大的数字放在前面。因此,我们可以从接着获取最二大的int将其放入数组的第二位中
循环下去,直到倒数第二位与最后一位进行比较,完成代码……
1 private int[] getMaxOrder(int[] myints)
2 {
3 int length = myints.Length;
4 for (int i = 0; i < length-1; i++)
5 {
6 for (int j = i + 1; j < length; j++)
7 {
8 if (myints[i] < myints[j])
9 {
10 int tmp = myints[i];
11 myints[i] = myints[j];
12 myints[j] = tmp;
13 }
14 }
15 }
16 return myints;
17