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

Сортировка простыми включениями

let a  = [|9;8;7;6;5;4;3;2;1;0|]

for i = 1 to a.Length - 1  do
    let x = a.[i]
    let mutable j = i - 1 
    while j >= 0 && x < a.[j] do
        a.[j + 1] <- a.[j]
        j <- j - 1
    a.[j + 1] <- x        

printfn "%A" a

Комментарии

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

Будда не принимает форм

Будда не практикует дзен. Смотрите не видя,  слушайте не слыша,  знайте не зная.

Кирилица в 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);