Сортировка массива в 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:05. |