importjava.awt.FlowLayout;
importjava.awt.TextArea;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
public class Test9 extends JFrame{
private JButtonbtn = new JButton("排序");
private static TextArea ta = new TextArea(12,70);
private int[] arr ={2,1,6,88,12,99,12,33,99,88,100,22,-7};;
public Test9() {
setSize(550, 300);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new FlowLayout());
add(btn);
btn.addActionListener(new ActionListener() {
publicvoid actionPerformed(ActionEvent arg0) {
bubbleSort(arr);
}
});
add(ta);
}
/**
* @param args
*/
public static void main(String[] args) {
new Test9();
}
public static int[] bubbleSort(int[] source) {
boolean isSort =false; // 是否排序
for (int i = 1; i < source.length; i++) {
isSort = false;// 在每次排序前都初始化为false
ta.append("---------------第"+i+"次排序【"+arrayToString(source)+"】---------------\n");
for (int j = 0; j < source.length - i; j++) {
if (source[j] > source[j + 1]) {
int temp = source[j];
source[j]= source[j + 1];
source[j+ 1] = temp;
isSort= true;// 为TRUE表明此次循环(外层循环)有排序。
ta.append("第" + i +"次排序,第" + (j+1) +"次比较。" + source[j] +"与" + source[j+1] +"交换位置【"+arrayToString(source)+"】\n");
}
}
if (!isSort) {
ta.append("排序完毕!\n");
break;// 如果没有排序,说明数据已经排序完毕。
}
}
return source;
}
public static String arrayToString(int[] arr) {
if (arr ==null || arr.length == 0) {
return"";
}
StringBuilder sbr = new StringBuilder();
for (int i=0;i<arr.length;i++) {
sbr.append(arr[i]);
if (i != arr.length - 1) {
sbr.append(",");
}
}
return sbr.toString();
}
}
相关推荐
提供插入排序,选择排序,冒泡排序三种排序方法,对数据进行排序,并可以在图形界面演示排序过程。 执行语句:java sort <输入方式> <图形界面/非图形界面选择> <待排序数列> 例: java sort 0 643 323 12 3 523 23 ...
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 **算法步骤**...
冒泡排序+详细代码+java
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
八种排序算法原理及Java实现是排序算法中的一种,包括冒泡排序、快速排序、直接插入排序、希尔排序、选择排序、归并排序和基数排序等。 冒泡排序是八种排序算法中的一种,属于交换排序。冒泡排序的基本思想是重复...
### Java冒泡排序方法详解 #### 一、冒泡排序简介 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行的,直到...
以下是冒泡排序的Java实现代码: ``` for(int i=0;i;i++){ for(int j=0;j;j++){ if(a[j]>a[j+1]){ int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } ``` 选择排序 选择排序的核心思想是需要设置当前的考察...
冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得每一次遍历都能将当前未排序部分的最大(或最小)元素“冒”到已排序部分的末尾。在Java编程语言中,我们可以很容易地实现这个算法。...
以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...
冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,特别是在编程语言如Java中。它的名字来源于排序过程中较小的元素像气泡一样逐渐“浮”到数组或列表的顶端。这个PPT文档很可能是详细介绍了Java实现...
在Java中实现冒泡排序,我们可以从以下几个方面来深入理解: 1. **基本概念**:冒泡排序通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再...
在Java编程中,我们可以用面向对象的思想来实现冒泡排序,结合图形用户界面(GUI)让排序过程可视化,这有助于学习和理解排序算法。 本项目中,"一个十分经典的java冒泡排序,界面实现.rar" 提供了一个Java程序,它...
### JAVA冒泡排序算法详解 冒泡排序是一种简单的排序算法,它重复地遍历要排序的元素列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素,也就是...
在Java中实现冒泡排序,我们可以使用以下代码: ```java void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i ; i++) { for (int j = 0; j ; j++) { if (array[j] > array[j + 1]) { // ...
在Java中实现冒泡排序的步骤: 1. 创建一个整型数组,用于存储待排序的元素。 2. 设置两个循环,外层循环控制遍历的轮数,内层循环控制每一轮中元素的比较与交换。 3. 在内层循环中,比较相邻两个元素的大小,如果前...
//测试冒泡排序 /********************* * int[] num = {23,45,76,78,98,54,}; 第一次 23 45 76 78 54 98 第二次 23 45 76 54 78 98 第三次 23 45 54 76 78 98 输出 :23 45 54 76 78 98 当判断为正确时就退出...
冒泡排序是一种简单的排序算法,它的基本思想是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这...
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。