Practice #4
Lektion 12 von 12 im Kurs Queue - Datenstrukturen-Serie #2 von Coddy.
Die nächsten Herausforderungen sind darauf ausgelegt, eine Warteschlange zu verwenden. Die Queue-Datenstruktur wird dir bereits zur Verfügung gestellt — nutze sie!
Aufgabe
EinfachSchreiben Sie eine Funktion namens hotPotato, die eine Liste von Namen und eine Anzahl von Würfen erhält und das Spiel "Heiße Kartoffel" simuliert: Geben Sie die Kartoffel tosses Mal weiter (jeder Durchgang bewegt die vorderste Person nach hinten), dann wird die Person, die sich nun vorne befindet, eliminiert. Wiederholen Sie dies, bis nur noch eine Person übrig bleibt, und geben Sie deren Namen zurück.
Verwenden Sie die bereitgestellte Queue, um dieses Problem zu lösen!
Probier es selbst
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "solution.h"
int main() {
char line[4096];
char** names = (char**)malloc(sizeof(char*) * 1000);
int n = 0;
if (fgets(line, sizeof(line), stdin)) {
char* tok = strtok(line, " \t\r\n");
while (tok) { names[n++] = strdup(tok); tok = strtok(NULL, " \t\r\n"); }
}
int tosses = 0;
scanf("%d", &tosses);
printf("%s\n", hotPotato(names, n, tosses));
return 0;
}