Код для проверки был самый простой:
using System;
namespace bs
{
class MainClass
{
public static void Main (string[] args)
{
Random r = new Random();
int max=100000;
int[] c=new int[max];
int t=0;
for(int i=0;i<max;i++)
c[i]=r.Next(1000);
System.Console.WriteLine(DateTime.Now);
for(int i=0;i<max;i++)
{
for(int j=0;j<max;j++)
{
if(c[i]>c[j])
{
t=c[i];
c[i]=c[j];
c[j]=t;
}
}
}
System.Console.WriteLine(DateTime.Now);
Console.WriteLine ("OK");
}
}
}
Т.е. как вы заметили обычный метод пузырьковой сортировки.
Как быстро будет осуществлен перебор массива и перестановка.
Код был адаптирован под следующие языки:
| c# | java | c++ | d | groovy | Windows Host jscript |
| 17 sec | 20 sec | 57 sec | 37 sec | 40 min | более часа |
Последние два - интерпретаторы, c++ и d компилируют исходный код в машинный, java и c# в байт-код виртуальной машины. Groovy выполняется в виртуальной машине java. ОС - виндоуз.
Вот такие не совсем предсказуемые результаты.
Вот такие не совсем предсказуемые результаты.
Комментарии
Отправить комментарий