请问你能帮我对字符串结构进行排序吗? 我需要按字典中的字母顺序对单词进行排序。问题是,它给我带来了段错误...... 这是我的结构:
typedef struct {
int length;
char *data;
} Word;
typedef struct {
int length;
int index;
Word *data;
} Dictionary;
这是比较函数:
int compare(const void *a, const void *b)
{
return strcmp (((Word *)a)->data, ((Word *)b)->data);
}
这是 qsort 实现:
qsort(&dictionary, dictionary.index, sizeof (Word *), compare);
非常感谢您的帮助。
最佳答案
您正在尝试qsort
您的字典结构而不是字典数据。
qsort(dictionary.data, dictionary.index, sizeof (Word *), compare);
您还应该仔细检查以确保 dictionary.index
是字典的长度,而不是 dictionary.length
关于c - Qsort 字符串结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473459/