我正在試着做一個函數來獲取'argv',並用冒泡排序對它進行排序。由於某種原因,冒泡排序不起作用,我找不到問題。用字符串進行泡泡排序
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;
}
}
}
你應該做一些調試。 –
問題是使用冒泡排序的邏輯,http://stackoverflow.com/questions/16636890/sorting-strings-with-bubble-sort-algorithm –
在就地修改命令行參數是一個壞主意。首先製作它們的副本,然後對其進行分類。 – Lundin