冒泡排序动态演示java
时间: 2023-11-09 22:01:51 浏览: 122
以下是冒泡排序的Java代码和动态演示:
```java
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
动态演示可以使用Java Swing或JavaFX等GUI库实现,具体实现方式可以参考以下链接:
https://www.geeksforgeeks.org/bubble-sort-visualization-using-java/
相关问题
java swing 冒泡排序 实时 显示 演示
好的,我可以为您演示一个 Java Swing 冒泡排序实时显示的程序。以下是程序的代码:
```java
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class BubbleSortVisualizer extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel panel;
private JButton button;
private JTextField textField;
private int[] array = { 5, 3, 1, 2, 4 };
private int delay = 500;
public BubbleSortVisualizer() {
setTitle("Bubble Sort Visualizer");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 200);
setLocationRelativeTo(null);
setResizable(false);
panel = new JPanel();
panel.setLayout(new BorderLayout());
add(panel);
JPanel topPanel = new JPanel();
topPanel.setLayout(new FlowLayout());
panel.add(topPanel, BorderLayout.NORTH);
JLabel label = new JLabel("Array: ");
topPanel.add(label);
textField = new JTextField(20);
textField.setEditable(false);
topPanel.add(textField);
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new FlowLayout());
panel.add(bottomPanel, BorderLayout.SOUTH);
button = new JButton("Sort");
bottomPanel.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Thread thread = new Thread(new Runnable() {
public void run() {
bubbleSort();
}
});
thread.start();
}
});
setVisible(true);
}
private void bubbleSort() {
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
updateTextField();
sleep();
}
}
}
}
private void updateTextField() {
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i < array.length; i++) {
stringBuilder.append(array[i]);
if (i != array.length - 1) {
stringBuilder.append(", ");
}
}
textField.setText(stringBuilder.toString());
}
private void sleep() {
try {
Thread.sleep(delay);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new BubbleSortVisualizer();
}
}
```
运行程序后,您可以在窗口中看到一个文本框和一个“Sort”按钮。文本框显示了初始数组的值(即 `5, 3, 1, 2, 4`)。当您点击“Sort”按钮时,程序将开始使用冒泡排序对数组进行排序,并在每次交换时更新文本框中的值,以实现实时演示。程序默认的延迟时间为 500 毫秒,您可以根据需要更改此值。
冒泡排序算法 java
Java Dijkstra 算法可视化是通过编写 Java 代码完成对 Dijkstra 算法进行可视化展示的过程。Dijkstra 算法是一种用于计算从单一源点到所有其他节点的最短路径的算法。 在 Java 中,可以使用图形界面库(例如 JavaFX)编写界面,并使用图形化表示方法来演示 Dijkstra 算法中的节点和边缘的操作以及算法的执行过程。
阅读全文