2016-06-23 9 views
-6
@Override 

頻度の高い単語を頻度の高い単語から最も頻度の低い単語にソートする必要があります。 2つの単語の頻度が同じ場合は、アルファベット順にソートされます。私はしなければならないすべてのものを組み合わせた挿入メソッドをどうやって行うのか分かりません。私は、加算の部分と周波数の順序部分を行う試みをした、と私はどのようにアルファベット順に同じ周波数を並べ替えるのか分からない。どんな助けもありがとう。リンクリストノードを挿入してソートする

+3

[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question) – azurefrog

+0

どの言語のための筆記体のアルファベットですか?また、いくつかの文字はアルファベットの一部ではなく、またいくつかの単語は文字以外の文字を含んでいることに注意してください。おそらくアルファベットのアイデアを飛ばすほうがよいでしょう。確立された[Locale](https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html)を使用してください。また、おそらくあなたの言葉を保持するためにStringを使用しているので、あなたはUnicode文字セットを使用しています。したがって、最初に[標準化]する必要があります(https://docs.oracle.com/javase/tutorial/i18n/text/normalizerapi.html)。 –

答えて

0

各単語がStringの場合は、単語を小文字(大文字でも問題ではない)に変換してからcompareToメソッドを使用します。文字列が辞書順で前に来ると(辞書と考える)、compareToは負の値を返します。それが後に来たら、それは肯定的に戻る。同じ単語の場合はゼロを返します。

ので: "hello" をアルファベット順に "鷹" の後に来るよう

String a = "hello"; 
String b = "hawk"; 
int c = a.compareTo(b); 

cが、正の値を含める必要があります。 compareTo()は、ASCIIコードを使用し、ASCII大文字は(「A」が「A」の前に来る)小文字の前に来るので

はまた、toLowerCase()またはtoUpperCase()が使用されるべきであることに気づきます。

関連する問題