Говнокод)) Сортировка пузырьком.
Помогите с программой, сортировка массива "пузырьком") Не хочет работать, зависает при вводе массива. Нужно ввести, отсортировать по возрастанию, вывести массив и количество операций в цикле, где сама сортировка)
<script> var SizeMass = +prompt("Размер массива",""); var i; mas = new Array(); for (i=1; i!=SizeMass; i++) { mas[i] = +prompt("Введите элемент массива",""); i++; } var k = 0; a = 0; for (i=1; i!=SizeMass-1; i++) { for (j=1; i!=SizeMass-i; j++) { if (mas[j] > mas[j+1]) { a = mas[j]; k++; mas[j] = mas[j+1]; k++; mas[j+1] = a; k++; } } } for (i=1; i!=SizeMass; i++) { alert(mas[i]); } alert("Количество операций в цикле"); alert(k); </script> |
Lorines,
строка 14 ересь - i везде не 0 - к в игре неучавствует |
алертами замучаете, если код заработает
|
<html> <head> </head> <body> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script> function rand( min, max ) { if( max ) { return Math.floor(Math.random() * (max - min + 1)) + min; } else { return Math.floor(Math.random() * (min + 1)); } } $(document).ready( function() { var count=0; var x=0;//Запоминает число var ar=[];//Неотсортированный массив var i=0; var j=0;//Счетчики var array=""; var result=""; var visual=""; ///Создаем рандомный массив. for(i=0;i<15;i++) { ar[i]=rand(1,100); array+=ar[i]+'|'; } console.log(ar); $('.console').html('Данный массив:<br/><b>'+array+'</b>');//Вывод на экран массива while(j<15)//Сортируем. Выход, когда массив закончится. Длина 40. { count++; while(i<14) { count++; if(ar[i]>=ar[i+1]) { visual+='---------------<br/>'; visual+='<b>'+ar[i]+'</b> >= '+ar[i+1]+'<br/>'; visual+='Меняем местами<br/>'; x=ar[i]; ar[i]=ar[i+1]; ar[i+1]=x; for(t=0;t<15;t++) { if(ar[t]==x) { visual+='<b>'+ar[t]+'</b>'+'|'; } else { visual+=ar[t]+'|'; } } visual+='<br/>'; } else{ visual+='---------------<br/>'; visual+='<b>'+ar[i]+'</b> < '+ar[i+1]+'<br/>'; visual+='Не меняем<br/>'; for(t=0;t<15;t++) { if(ar[t]==ar[i]) { visual+='<b>'+ar[t]+'</b>'+'|'; } else { visual+=ar[t]+'|'; } } visual+='<br/>'; } i+=1; } $('.vis').html(visual); i=0; j++; } for(j=0;j<15;j++) { result+=ar[j]+'|'; } $('.result').html('Результат: <br/><b>'+result+'</b><br/>Количество проверок: '+count); } ); </script> <div class="start"><b>Реализовать метод сортировки с помощью прямого обмена</b><br/></div> <div class="result" style="position:absolute;left:50%">2</div> <div class="console">1</div> <div class="vis">3</div> </body> </html> C визуализацией=) |
Часовой пояс GMT +3, время: 03:33. |