К основному контенту

dlang - простой язык для повседневных вещей

Снова вернулся интерес к Ди-2   Также, в рунет появился неплохой фанатский сайт http://dlang.ru  Посмотрите на код ниже. Пару минут ушло на реализацию обобщенных алгоритмов поиска перебором и быстрой сортировки. Мне нравится.

import  std.stdio;
import std.datetime.stopwatch;
    long[] arr =[];
void main()
{

    long i;
    while (!stdin.eof)
    {
        readf("%d\n", &i);
        arr ~= i;
    }
    auto b = benchmark!(Test,Test2)(1);
    writeln(b[0]);
    writeln(b[1]);
    writeln("done");
}

void Test()
{

    auto i = FindIndex(arr, 4023201323);
    writeln(i);

}

void Test2()
{

    auto r = qs(arr);
    foreach(e;r)
    writeln(e);

}


int FindIndex(T)(T[] array, T e)
{
    foreach(i,a; array)
           if(a==e) return i;
    return -1;
}

T[] qs(T)(T[] src)
{
    if(src.length < 2)
        return src;
    T s = src[0];
    T[] l; T[] g;
        foreach(e;src[1..$])
            if( e<=s )
                l ~= e;
            else
                g ~= e;
    return qs(l) ~ s ~ qs(g);
}

Комментарии

Популярные сообщения из этого блога

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);

Arch Linux - руссификация консоли

Вчера, придя с работы, как всегда затеял InstallFest. Уже практически не задумываясь установил свежий арч. И тут заметил что в tty вместо русского - квадратики. Под утро нашел таки сообщение на форме, что в этом виноваты дрова от видео. Там правда речь шла о нвидиа, а у меня ати. Буду пробовать. И еще в lxterminal обратил внимание что сообщения на русском, а то что я вводил на русском потом возвращается системой в виде юникод-символов. Вот такие дела. UPDATE: драйвер не причем. переустановил в консоли(до установки X) по прежнему квадратики вместо букв. неужели придется переключатся на инглиш? Заметил что initscripts скачался c какого-то зеркала не с яндекса. возможно причина в нем.