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

Пузырьковая сортировка

/*
Пузырьковая сортировка - сортируем раз за разом
пока не получим полностью отсортированный массив
в худшем случае потребуется выполнить n*n операций 
сравнения и перестановки элементов
*/
import std.stdio;

void swap(T)(T[] arr,uint left,uint rigth) {
 if(left!=rigth){
  T temp = arr[left];
  arr[left] = arr[rigth];
  arr[rigth] = temp;
 }
}

void sort(T)(T[] items) {
 bool swapped;
 do{
  swapped = false;
  for(int i=1;i<items.length;i++) {
   if(items[i-1]>items[i]){
    swap(items,i-1,i);
    swapped = true;
   }
  }
 }while(swapped!=false);
}

void main(string[] args) {
 auto arr = [9,8,67,4,5,1,2];
 sort(arr);
 foreach(i,e;arr)
 writeln(i," = ",e);
}

Комментарии

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

Кирилица в 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 какого-то зеркала не с яндекса. возможно причина в нем.