C#数组的排序
对于数组的排序有好多种方法,上面这种是最常规的方法,当然在Array类中有两个方法就是专门来完成排序的,一会我们再来看这两方法,下面我们还是来看一下语法吧,只要搞懂语法了,就可以自己随便排序了。
冒泡排序语法:
for (int i = 0; i < 数组长度 - 1; i++)
{
for (int j = 0; j < 数组长度 - i - 1; j++)
{
if (数组名[j] < 数组名[j + 1])
{
int empty = 数组名[j];
数组名[j] = 数组名[j + 1];
数组名[j + 1] = empty;
}
}
}
上面这个语法是降序排序,如果想升序的话就把if(数组名[j]<数组名[j=1])里面的小于号“<”改成大于号“>”就可以了。
刚才我们说到了Array类中的两个排序的方法,下面我们就简单的介绍一下Array类中的这两个方法。
在Array中实现升序排列的方法是Array.Sort(数组名),比如:Array.Sort(change).当然了降序也有Array.Reverse(数组名),比如:Array.Reverse(change),这个Reverse就是把数组的排序颠倒过来,也叫反转。
下面我们就把这两个方法放到实例中看看效果:
1 class Program
2 {
3 static void Main(string[] args)
4 {
5 int[] change = { 23, 11, 54, 33, 7 };
6 int length = change.Length;//得到数组的长度
7 int i;
8 Console.WriteLine("Array排序前:");
9 for (i = 0; i < length; i++)//循环输出排序前的值
10 {
11 Console.WriteLine("{0}", change[i]);
12 }
13 //下面是Array.Sort升序排列
14 Array.Sort(change);
15 Console.WriteLine("Array.Sort排序后:");
16 for (i = 0; i < length; i++)
17 {
18 Console.WriteLine("{0}", change[i]);//循环输出Array.Srot升序排列结果
19 }
20 //下面是Array.Reverse降序排列后
21 Array.Reverse(change);
22 Console.WriteLine("Array.Reverse排序后:");
23 for (i = 0; i < length; i++)
24 {
25 Console.WriteLine("{0}", change[i]);//循环输出Array.Reverse降序排列结果
26 }
27 Console.ReadKey();
28 }
29 }
运行结果:
冒泡排序和Array类中的两个方法排序实现出来的效果是相同的,不过相比而言冒泡排序的通用性很强,而且使用范围也比较广,还是希望大家多采用冒泡排序。
总结:1.数组的创建;
2.数组的长度;
3.冒泡排序;
4.Array类的两个方法;
以上就是本次的分享,可能内容比较少,但是只要把它都很好的掌握了,我觉得也是一种进步,知识在于积累嘛!对吧!Ok!The end!
此文是本人的个人观点,如有不完善或者不准确的地方,欢迎高手进行批评,老鸟进行指点。