我正在学习c。我创建了一个程序来计算文本文件中单词的频率。我的结构体包含三个键(frequency, word, nextLink)。
的事情是我已经排序数组的结构使用键,但不知道如何去这个。任何指导,链接将是伟大的。
我提供了我的arrayOfStructs排序代码
void sortArray(int array[], int count)
{
int i,j,temp;
for (i = 0; i < count; ++i)
{
for (j = i + 1; j < count; ++j)
{
if (array[i] > array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}
这是对LinkedList进行排序的可能方法吗
void sortList(struct Node *head)
{
struct Node *i, *j, *temp;
for (i = head; i != NULL ; i->next)
{
for (j = head->next; j != NULL; j->next)
{
if (head->frequency < head->next->frequency)
{
temp = head;
head = head->next;
head->next = temp;
}
}
}
}
struct Node
{
int frequency;
char word[50];
struct Node *next;
};
用i = i->next
代替i->next
,用j = j->next
代替j->next
。
void sortList(struct Node *head)
{
struct Node *i, *j, *temp;
for (i = head; i != NULL ; i = i->next) // i = i->next
{
for (j = head->next; j != NULL; j = j->next) // j = j->next
{
if (head->frequency < head->next->frequency)
{
temp = head;
head = head->next;
head->next = temp;
}
}
}
}