Сортировка массива в JS методом пузырька
Помогите найти ошибку в коде
<html> <script> mas = [1,2,3,4,10,6,7,8,9,5]; for (i=0; i<=8;i++) { m_min=m[i]; for (j=i+1; j<=9; j++) { if (m[j] < m_min); mm=m[i]; m_min=m[j]; m[i]=m_min; m[j]=mm; } } document.write(mas); document.write(mmm); document.write('sss'); </script> </html> |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
mikhabor2372,
Ваш массив назван mas, а выборку делаите из неизвестного массива m .... после условия if (m[j] < m_min); стоит точка с запятой что заставляет работать условие в пустую ...и под конец вы пытаитесь распечатать неизвестную переменную document.write(mmm); Рабочий вариант для медитации ... :(
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var m = [1, 2, 3, 4, 10, 6, 7, 8, 9, 5];
for (var i = 0; i < 9; i++) {
var m_min = m[i];
for (var j = i + 1; j < 10; j++) {
if (m[j] < m_min) {
var mm = m[i];
m_min = m[j];
m[i] = m_min;
m[j] = mm;
}
}
}
document.write(m);
document.write(mm);
document.write('sss');
</script>
</body>
</html>
|
так получше на мой взгляд
var m = [1, 2, 3, 4, 10, 6, 7, 8, 9, 5];
var count = m.length-1;
for (var i = 0; i < count; i++)
for (var j = 0; j < count-i; j++)
if (m[j]> m[j+1]) {
var max = m[j];
m[j] = m[j+1];
m[j+1] = max;
}
document.write(m);
|
| Часовой пояс GMT +3, время: 13:13. |