我正在尝试根据它们的名称按字典顺序对字符串进行排序。
所以我有一系列结构
typedef struct buff{
char *name;
} structure;
我正在复制带有相关扩展名的文件名。所以该结构的内容看起来像这样的s[0].name = "picture1.jpg"
s[1].name = "DCP003.JPG"
东西。
我正在尝试对此进行排序,但我无法做到这一点..到目前为止我所拥有的就是这个。
void sort(structure *s, int counter){
for (int i = 0; i < counter - 1; i++){
for (int j = 0; j < counter - 1 - i; j++){
if (strcmp(s[j].name, s[j+1].name) > 0){
structure tmp;
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
for (int i = 0; i < counter; i++){
printf("%d - %s\n", i+1, s[i].name);
}
}
它不能按我的意愿工作..尝试了几个版本仍然不好..我在哪里犯错了?任何意见是极大的赞赏..