|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Не выполняется цикл while
Вчера до четырёх утра не мог понять, думал, что посплю и увижу причину, но сегодня все так же не могу понять в чем дело. Может чей-то свежий взгляд избавит меня от мучений Вопрос в коде -
И ещё интересно, было ли у кого-нибудь, что FD начинал глючить и что с этим делать? Вчера целый день ушел на поиск ошибки, которой не было, сегодня... package { import flash.display.Sprite; public class Main extends Sprite { private var _array:Array; public function Main() { _array = new Array(1,8,8,9,9,9,3,7,7,7); trace(selectionSort(_array, comparator)) } private function selectionSort(array:Array, comparator:Function):Array { var data:*, i:int, j:int, min:int, lenght:int = array.length; while (i < length) { min = i; j = i; while (j < length) { if (array[j++] < array[min]) min = j - 1; } data = array[min]; array[min] = array[i]; array[i] = data; i+=1; } trace(lenght); // 10 var a:int = 0; while (a++ < length) trace(a); // 1 Почему цикл выполняет только одну итерацию? return array; } public static function comparator(a:Number, b:Number):int { if (a < b) return -1; if (a > b) return 1; return 0; } private function random():int { return Math.random() * 10; } } } Удалил и заново создал условия в скобках и заработало. Полтора дня ушло на два глюка. |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Цикл while так не работает.
На мой взгляд, тут было бы удобней использовать for. |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Код выглядит так нелепо, потому что, до того, как я понял, что это глюк, я переворотил весь код.
Теперь все тик в тик. От for я почему-то постепенно отвыкаю... array_list final function selectionSort(array:Array, comparator:Function):Array { var data:*, i:int, j:int, min:int, lenght:int = array.length; while (i < lenght) { min = i; j = i; while (j < lenght) if (array[++j] < array[min]) min = j; data = array[min]; array[min] = array[i]; array[i++] = data; } return array; } |
|
|||||
[+4 06.05.14]
|
Цитата:
Добавлено через 1 минуту Ну, а про неймспейсы я вообще молчу
__________________
Марк Tween |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
И не думайте, что я не понимаю разницы между вызовом конструктора и без него. Суть-то не меняется. А чем ва неймспейсы не нравятся? У меня в классе два метода, один для арай, а второй для линкед. Можно передавать из из обращающего класса this, но мне захотелось с неймспайсоми... В чем это плохо? Последний раз редактировалось Akopalipsis; 25.04.2014 в 17:40. |
|
|||||
[+4 06.05.14]
|
Цитата:
Про неймспейсы все просто - они не нужны. С вашей стороны это просто выпендреж, который не нужен ни вам ни кому либо другому.
__________________
Марк Tween |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Если кто-то может объяснить разницу, объясните пожалуйста, а то я действительно не знаю.
Цитата:
то я не удивился когда нашел этому подтверждение. Но вот эти Ваши слова, сразу заставили искать связь между Вами и "тем тоном", потому что это уже не синдром жертвы, мне кажется над Вами действительно надругались. И извиняюсь за грубость, но это Вы себя так выставляете. |
|
|||||
зачем писать объявление переменных в строку?
метод random - идиотский и бессмысленный. компаратор можно написать простым вычитанием без ифов не понятно зачем тут while не понятно зачем тут кастомный неймспейс не понятно, чем не нравится "нативная" сортировка, и зачем необходим этот велосипед
__________________
местонахождение |
|
|||||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Цитата:
Цитата:
Можете подсказать?) Цитата:
у меня не получилось, а когда объявлять все равно вне, то whele красивей, хоть немного и теряется скорости из-за array[i++]. Цитата:
Цитата:
|
|
|||||
[+4 06.05.14]
|
Akopalipsis - Ты дубина - что я могу сказать. Мало того, что уже весь форум тебе вдалбиливает , что ты пишешь фигню, кроме того - ты не собираешься учиться и искоренять это, ты лезешь в дебри , которые не для тебя еще пару лет. С русским языком опять же не дружим, а так же не понимаем значения многих слов. Особенно понравилось про *надругался* - я смеялся Вперед читать википедию, дабы боюсь книги в бумажной обертке читать тебе еще рано
P.s. - все аргументы которые ты привел против СлаваРа - такие же глупые, как и метод random ( уже было сказано ) P.s.s - Разница в () от [] в скорости во первых, во вторых в конвенциях. А щас у тебя код как шлюха - половина от одних конвенций, половина от других
__________________
Марк Tween |
Часовой пояс GMT +4, время: 19:15. |
|
« Предыдущая тема | Следующая тема » |
|
|