Защо следните твърдения са еквивалентни? emptyRow и emptyCol са цели числа, а Grid е двуизмерен масив от цели числа. Няма нужда да знаете какво прави програмата, но в случай, че се чудите, това е алгоритъм за решаване на судоку, който използва основно обратно проследяване.
И двата израза позволяват на програмата да работи без никакви грешки, но не разбирам как е възможно това, тъй като .pop() връща най-горното цяло число в първото изпълнение, докато второто първо изважда най-горните елементи и извлича целите числа директно под тези.
Твърдение А:
Grid[emptyRow.pop()][emptyCol.pop()] = 0;
Изявление Б:
emptyRow.pop();
emptyCol.pop();
Grid[emptyRow.peek()][emptyCol.peek()] = 0;
Съжалявам, ако това е глупав логически проблем с моя код, просто проверявам дали има нещо, което не знам за това как работят стековите операции.