帮我用sort写一个对字典键排序的函数
时间: 2023-03-28 08:03:11 浏览: 71
好的,我可以回答这个问题。以下是一个使用sort函数对字典键进行排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_KEY_LEN 100
#define MAX_VALUE_LEN 100
typedef struct {
char key[MAX_KEY_LEN];
char value[MAX_VALUE_LEN];
} DictEntry;
int compare_keys(const void *a, const void *b) {
const DictEntry *entry_a = (const DictEntry *)a;
const DictEntry *entry_b = (const DictEntry *)b;
return strcmp(entry_a->key, entry_b->key);
}
void sort_dict_keys(DictEntry *entries, int num_entries) {
qsort(entries, num_entries, sizeof(DictEntry), compare_keys);
}
int main() {
DictEntry entries[] = {
{"apple", "red"},
{"banana", "yellow"},
{"cherry", "red"},
{"date", "brown"},
{"elderberry", "purple"}
};
int num_entries = sizeof(entries) / sizeof(DictEntry);
sort_dict_keys(entries, num_entries);
for (int i = ; i < num_entries; i++) {
printf("%s: %s\n", entries[i].key, entries[i].value);
}
return ;
}
```
这个程序定义了一个DictEntry结构体,包含一个键和一个值。sort_dict_keys函数使用qsort函数对字典条目按键进行排序。compare_keys函数用于比较两个字典条目的键。在main函数中,我们创建了一个包含5个条目的字典,并对其键进行排序,最后打印出排序后的结果。