Untitled
unknown
java
2 years ago
5.2 kB
10
Indexable
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());
}
}
}
Editor is loading...