Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Web-программирование - это просто!


Новое на сайте Программирование - это просто! (www.easyprog.ru):

В платном разделе

В бесплатном разделе

Добрый день, уважаемые подписчики!

Тема сегодняшнего выпуска: «Java Script: операторы цикла, массивы, сортировка».

 

Сегодня мы изучим сортировку и закончим тему циклов. Рассмотрим пример:

 

<HTML>
<HEAD>
<TITLE>Урок 45. Java Script (JS): операторы цикла, массивы, сортировка</TITLE>
</HEAD>

<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
var nar=new Array();
for (var i=1; i<=5; i++) {
var n=Math.random()*10;
n=Math.round(n);
nar.push(n);
}
document.writeln("До сортировки<br>");
for (var i=0; i<nar.length; i++) {
document.writeln(nar[i]+"<br>");
}
for(var i = 1; i<nar.length; i++) {
for(j=nar.length-1; j>=i; j--) {
if(nar[j-1]>nar[j]) {
x=nar[j-1];
nar[j-1]=nar[j];
nar[j]=x;
}
}
}
document.writeln("После сортировки<br>");
for (var i=0; i<nar.length; i++) {
document.writeln(nar[i]+"<br>");
}
</SCRIPT>
</BODY>
</HTML>

 

Вот что он нам выдаст, когда мы его запустим:

 

Тема сегодняшнего выпуска: «Java Script: операторы цикла, массивы, сортировка».

 

В данном примере алгоритм сортировки взят самый простой, хоть и далеко не оптимальный - алгоритм пузырьковой сортировки.  Его недостаток заключается в том, что при увеличение вдвое числа элементов в массиве сортировки скорость работы уменьшается в четыре разы. Однако, для нашего примера, в котором используется всего 5 элементов, скорость не является критичным фактором, а оптимизация алгоритмов сортировки выходит за рамки данной рассылки.

Суть алгоритма пузырьковой состоит в том, что элемент сортируемого списка как бы "всплывает", подобно пузырьку (кстати, именно поэтому алгоритм получил свое название), и движется он до тех пор, пока не найден свое место.

Как же работает алгоритм пузырьковой сортировки? Верхний цикл перемещает указать в прямом направлении, за указателем элементы оказываются отсортированными. А непосредственно сортировкой занимается вложенный цикл. Он то и как раз "проталкивает" элемент до своего места, делая это путем перестановок. Естественно, перестановка нужна только в том случае, когда предыдущий элемент больше текущего - значит, его нужно "опустить", а текущий наоборот, "поднять".  Если мы сортируем по убыванию, тогда, естественно, все наоборот.

Подробнее об алгоритмах сортировки можно почитать здесь:

 

Алгоритм пузырьковой сортировки

Оптимизация алгоритма пузырьковой сортировки

Алгоритм гномьей сортировки.

 

 

 

С уважением, Шуравин Александр, e-mail: megabax@rambler.ru, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.

 


В избранное