Как этот цикл Java for должен выглядеть в псевдокоде?
Как я должен продолжать превращать этот фрагмент кода в псевдокод?
ArrayList<Integer> check = new ArrayList<Integer>();
ArrayList<Integer> dup = new ArrayList <Integer> ();
ArrayList<Integer> nonDup = new ArrayList <Integer> ();
for (int i : listA) {
nonDup.add(i);
}
for (int i : listB) {
nonDup.add(i);
}
for (int i : listA) {
check.add(i);
}
for (int i : listB) {
if (check.contains(i)) {
dup.add(i);
nonDup.removeAll(duplicates);
}
}
Я понятия не имею, как превратить методы for loops, add (), contains() и removeAll() в псевдокод.
4 ответов:
Псевдокодом может быть все, что угодно. Поскольку вы или другие люди можете понять, что означают эти строки.
Вы можете превратить его просто как для (вашего значения переменной start) в (ваш конец желаемый) i++ -
В основном то, что заставляет людей и вас в основном понимать, что это цикл For
Это просто простой английский:
Обычно вам не нужно беспокоиться о псевдокодах. От них действительно мало пользы (кроме хвастовства)... я имею в виду, помогая вашим коллегам понять ваш код), и они не являются исполняемыми.Initialize "check" as an empty (array-backed) list of integers. Initialize "dup" as an empty (array-backed) list of integers. Initialize "nonDup" as an empty (array-backed) list of integers. For each integer in listA: Add the integer to "nonDup". End of loop. For each integer in listB: Add the integer to "nonDup". End of loop. For each integer in listA: Add the integer to "check". End of loop. For each integer in listB: If "check" contains the integer: Add the integer to "dup". Remove all integers in "dup" from "nonDup". End of if. End of loop.
Например:
getNonDup(listA, listB): nonDup = listA + listB dup = an empty list for each object i in listB do: if listA contains i do: add i to dup remove i from nonDup return nonDup(мой стиль псевдокода чем-то похож на Python...)
В Java, чтобы иметь только уникальные значения, вы можете просто поместить их все в набор:
Set<Integer> nonDup = new HashSet<Integer>(listA.addAll(listB));
Как насчет чего-то вроде этого:
for each element in list A add element to list nonDupЭто в основном простой текст, который может быть прочитан кем угодно. Вы можете выбрать более говорящие имена для переменных. Вы также можете выбрать
begin loopиend loop, чтобы показать область цикла вместо отступа.
Comments