c#方法怎么调用

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:24:44
namespace ConsoleApplication1
{
class Program
{
static int order(int[] list)
{
for (int i = 1; i < list.Length; i++)
{
int t = list[i];
int j = i;
while (list[j-1] > t)
{
list[j] = list[j - 1];
--j;
}
list[j] = t;
}

}
static void Main(string[] args)
{
int[] Arr1=new int[6]{12,4,54,33,47,94};
order( Arr1);
for (int k = 0; k < Arr1.Length; k++)
Console.Write("{0} ",Arr1[k]);
Console.ReadKey();
}
}
}
这个是调用插入排序,我实现不了,请高手帮忙更正

把参数改成ref int[] list,调用的时候:order( ref Arr1);
ref表示引用,跟它个功能的还有out,关于ref和out的区别就请LZ自己去翻MSDN吧。

如果不加ref,你把Arr1传给order函数,order是不会修改源Arr1的值的。

在C#里面,有个简单的排序方法,使用Array.Sort(Arrays);
Sort是Array类的一个静态方法。

你应该在定义一个数组,设置值为order( Arr1); 返回的值
然后循环输出。你会得到意外的惊喜。呵呵

帮你解释一下吧。你的Arr1在这里只是当了一次参数的角色。排序后的值。你根本就没保存。你输出的还是Arr1原始的值,所以看不到效果,你也可以将order( Arr1); 返回的值重新赋给Arr1,在循环输出