当前位置:首页 > 代码相关 > 正文内容

偶然想到的一个问题。。。

admin6年前 (2020-05-22)代码相关10391

今天突然想C#中,用数组中的Max()方法和直接通过比较获取最大值的时间谁快,于是试了试:

       static void Main(string[] args)
        {
            Random random = new Random();

            int[] arr = new int[100000000];
            int temp = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                arr[i] = random.Next();
            }


            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            int a = arr.Max();
            stopwatch.Stop();
            double t = stopwatch.Elapsed.TotalSeconds;

            stopwatch.Restart();
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] >= temp)
                {
                    temp = arr[i];
                }
            }
            stopwatch.Stop();
            double t2 = stopwatch.Elapsed.TotalSeconds;

            Console.WriteLine(a);
            Console.WriteLine(temp);
            Console.WriteLine("Max方法时间:" + t);
            Console.WriteLine("比较时间:" + t2);

            Console.ReadKey();
        }

结果是这样的:

image.png

看起来是比较快些。。。

扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=50

分享给朋友:

“偶然想到的一个问题。。。” 的相关文章

C# 委托

C# 委托

Action和Func是.NET类库的内置委托,以简便使用。Func有17个重载还可以使用delegate关键字创建委托下面的代码展示了这三种使用委托的方法namespace _20200327 {     public delegat...

C# 泛型委托

C# 泛型委托

虽然没有必要,但是还是先看看自定义的泛型委托:namespace _20200402 {     class Program     {     &nb...

C# Stack堆栈

Stack代表了一个先入后出的对象集合。有以下常用方法:表 3Clear()从 Stack 中移除所有对象。Contains(Object)确定某元素是否在 Stack 中。CopyTo(Array, Int32)从指定的数组索引处开始,将 Stac...

C语言malloc()函数

C语言中malloc()函数,用于分配所需的内存,并返回一个指向该内存的指针。注意这是C的标准库函数,不是C的关键字,在<stdlib.h>头文件下。函数声明: void *malloc(size_t size)其中,size是要分配的内存的大小,单位是字节。返回一个指针 ,指向已分配大...

C语言字符串换行连接

C语言字符串换行连接

有时候遇到一个字符串太长一行放下不好看的情况,可以使用换行连接:一是使用 符号,如下所示:char* testString = "AAA BBB";运行如下:注意换行后的内容一定要顶到格子的最前面,否则会把前面的空格也算上。char* ...

C语言结构体

C语言的结构(struct)是一种复杂的数据类型,可以包含多种数据类型,基本类型都能包含,但是不能包含函数,这是和C++中的结构不同的地方,但是可以包含函数指针,但是这也并不矛盾,因为本身指针指向的是一个地址,也是一个变量。下面是结构的定义的示例:struct Name {  ...