Untitled
unknown
java
a year ago
5.2 kB
3
Indexable
Never
import java.util.ArrayList; import java.util.HashMap; public class WordFrequencyBubbleSort { public static void main(String[] args) { ArrayList<String> words = new ArrayList<String>(); try { // Einlesen der Wörter wie in Ihrer Frage gezeigt // Wörter zählen HashMap<String, Integer> wordFrequency = new HashMap<>(); for (String word : words) { wordFrequency.put(word, wordFrequency.getOrDefault(word, 0) + 1); } // Konvertieren Sie die HashMap in eine Liste von Einträgen (key, value) ArrayList<HashMap.Entry<String, Integer>> wordList = new ArrayList<>(wordFrequency.entrySet()); // Anwenden von Bubble-Sort, um die Liste nach der Häufigkeit zu sortieren int n = wordList.size(); boolean swapped; do { swapped = false; for (int i = 1; i < n; i++) { if (wordList.get(i - 1).getValue() > wordList.get(i).getValue()) { // Vertauschen der Einträge HashMap.Entry<String, Integer> temp = wordList.get(i - 1); wordList.set(i - 1, wordList.get(i)); wordList.set(i, temp); swapped = true; } } n--; } while (swapped); // Anzeigen der sortierten Wörter und ihrer Häufigkeit for (HashMap.Entry<String, Integer> entry : wordList) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } import java.util.ArrayList; import java.util.HashMap; public class WordFrequencyInsertionSort { public static void main(String[] args) { ArrayList<String> words = new ArrayList<String>(); try { // Einlesen der Wörter wie in Ihrer Frage gezeigt // Wörter zählen HashMap<String, Integer> wordFrequency = new HashMap<>(); for (String word : words) { wordFrequency.put(word, wordFrequency.getOrDefault(word, 0) + 1); } // Konvertieren Sie die HashMap in eine Liste von Einträgen (key, value) ArrayList<HashMap.Entry<String, Integer>> wordList = new ArrayList<>(wordFrequency.entrySet()); // Anwenden von Insertion-Sort, um die Liste nach der Häufigkeit zu sortieren for (int i = 1; i < wordList.size(); i++) { HashMap.Entry<String, Integer> currentEntry = wordList.get(i); int j = i - 1; while (j >= 0 && wordList.get(j).getValue() > currentEntry.getValue()) { wordList.set(j + 1, wordList.get(j)); j--; } wordList.set(j + 1, currentEntry); } // Anzeigen der sortierten Wörter und ihrer Häufigkeit for (HashMap.Entry<String, Integer> entry : wordList) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } import java.util.ArrayList; import java.util.HashMap; public class WordFrequencySelectionSort { public static void main(String[] args) { ArrayList<String> words = new ArrayList<String>(); try { // Einlesen der Wörter wie in Ihrer Frage gezeigt // Wörter zählen HashMap<String, Integer> wordFrequency = new HashMap<>(); for (String word : words) { wordFrequency.put(word, wordFrequency.getOrDefault(word, 0) + 1); } // Konvertieren Sie die HashMap in eine Liste von Einträgen (key, value) ArrayList<HashMap.Entry<String, Integer>> wordList = new ArrayList<>(wordFrequency.entrySet()); // Anwenden von Selection-Sort, um die Liste nach der Häufigkeit zu sortieren int n = wordList.size(); for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (wordList.get(j).getValue() < wordList.get(minIndex).getValue()) { minIndex = j; } } // Vertauschen der Einträge HashMap.Entry<String, Integer> temp = wordList.get(i); wordList.set(i, wordList.get(minIndex)); wordList.set(minIndex, temp); } // Anzeigen der sortierten Wörter und ihrer Häufigkeit for (HashMap.Entry<String, Integer> entry : wordList) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }