【问题标题】:linked list Sorting in alphabetically and frequency order链表按字母顺序和频率顺序排序
【发布时间】:2020-10-12 15:15:04
【问题描述】:

我有一个链表项目。所以我写了insert方法,getCount(E key){插入单词的频率计数(haw many words are repeat)},getWords(int n) {获取格式为(word, count)的前n个单词} ,迭代器()。 我的输出是:

(cat,3)(bob,2)(cat,3)(bob,2)(cat,3)(alice,2)(alice,2)

所以项目希望根据频率的数量对输出进行排序,如果频率相同,它将按字母顺序对其进行排序。所以输出应该是:

(猫,3)(爱丽丝,2)(鲍勃,2)

它也没有打印重复的那些。 我应该如何对它们进行排序我应该更改我的插入方法或制作新方法只是为了排序? 插入方法:

公共布尔插入(E键){

     Node curr = first;
     if (first == null || !first.key.equals(key)) {
            first = new Node(key,first);
        
        }else {
           
            while (curr.next != null) {
                   curr = curr.next;
            }
            
            curr.next = new Node(key);

            N++;
        }
        return true;
}

【问题讨论】:

  • 'java' !== 'javascript'
  • 抱歉弄错了

标签: java linked-list processing-efficiency


【解决方案1】:

一定要做出新的方法。放到频率法里面会很乱。 如果您愿意,我可以帮助您编写代码,如果您愿意,请告诉我。 但我认为通常的合并或快速排序将起作用,并增加了相等的条件。我不认为重复的话应该是一个问题。 一些参考资料, https://www.geeksforgeeks.org/merge-sort-for-linked-list/

【讨论】:

    猜你喜欢
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2020-02-06
    • 2019-04-05
    • 1970-01-01
    相关资源
    最近更新 更多