Говнокод)) Сортировка пузырьком.
Помогите с программой, сортировка массива "пузырьком") Не хочет работать, зависает при вводе массива. Нужно ввести, отсортировать по возрастанию, вывести массив и количество операций в цикле, где сама сортировка)
<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, время: 21:47. |