Ich versuche, eine Funktion zu machen, die 'argv' bekommt und die Strings darin mit bubble sort sortiert. Aus irgendeinem Grund funktioniert die Blasensortierung nicht und ich kann das Problem nicht finden.Blasensortierung mit Strings
void order(int howmany, char** strings)
{
int i = 0;
char* temp = (char*)malloc(sizeof(char)*20);
for (i = 1; i < howmany-1; i++)
{
if (strcmp(strings[i], strings[i + 1]) > 0)
{
strcpy(temp, strings[i]);
strcpy(strings[i], strings[i+1]);
strcpy(strings[i + 1], temp);
}
else if (strcmp(strings[i], strings[i + 1]) < 0)
{
continue;
}
else
{
continue;
}
}
}
Sie sollten ein Debugging durchführen. –
Problem ist die Logik mit Bubble-Sort, http://stackoverflow.com/questions/16636890/sorting-strings-with-bubble-sort-algorithm –
Es ist eine schlechte Idee, die Befehlszeilenparameter in-Place zu ändern. Machen Sie eine Kopie von ihnen zuerst, dann sortieren Sie sie. – Lundin