如何使用"键"排序:C



我正在学习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;
            }
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新