Я пишу функцию, которой передают указатель на массив длины 4. Этот массив будет содержать целые числа 0 <= x <= 52
, и я хотел бы создать массив длиной 48 с каждым целым числом из da kine, которого нет передается в массиве. В питоне это будет
# just included for specificity
cards = [card for card in deck if card not in hand]
в C лучшее, что я могу сделать, это
int i, j, k, found_flag;
int cards[48]; /* int hand[4] is passed in */
k = 0;
for (i = 0; i < 52; i++) {
found_flag = 0;
for (j = 0; j < 4; j++) {
if (i == hand[j]) {
found_flag = 1;
break;
}
}
if (!found_flag) {
cards[k++] = i;
}
}
Это оптимально для этого обстоятельства? Как правило, это шаблон перехода?