心法领悟051:编译器可以自动计算数组长度。
例如:int[] array = {1,2,3,4,5}
import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.GridBagLayout; import javax.swing.JScrollPane; import java.awt.GridBagConstraints; import javax.swing.JButton; import java.awt.Insets; import javax.swing.JTextArea; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.Random; public class BubbleSort extends JFrame { private JPanel contentPane; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { BubbleSort frame = new BubbleSort(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public BubbleSort() { setTitle("\u5192\u6CE1\u6392\u5E8F\u7B97\u6CD5"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); GridBagLayout gbl_contentPane = new GridBagLayout(); gbl_contentPane.columnWidths = new int[] { 0, 0 }; gbl_contentPane.rowHeights = new int[] { 0, 0, 0, 0, 0 }; gbl_contentPane.columnWeights = new double[] { 1.0, Double.MIN_VALUE }; gbl_contentPane.rowWeights = new double[] { 1.0, 0.0, 1.0, 0.0, Double.MIN_VALUE }; contentPane.setLayout(gbl_contentPane); JScrollPane scrollPane = new JScrollPane(); GridBagConstraints gbc_scrollPane = new GridBagConstraints(); gbc_scrollPane.insets = new Insets(0, 0, 5, 0); gbc_scrollPane.fill = GridBagConstraints.BOTH; gbc_scrollPane.gridx = 0; gbc_scrollPane.gridy = 0; contentPane.add(scrollPane, gbc_scrollPane); textArea1 = new JTextArea(); scrollPane.setViewportView(textArea1); JButton button = new JButton("\u751F\u6210\u968F\u673A\u6570"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { do_button_actionPerformed(e); } }); GridBagConstraints gbc_button = new GridBagConstraints(); gbc_button.insets = new Insets(0, 0, 5, 0); gbc_button.gridx = 0; gbc_button.gridy = 1; contentPane.add(button, gbc_button); JScrollPane scrollPane_1 = new JScrollPane(); GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints(); gbc_scrollPane_1.insets = new Insets(0, 0, 5, 0); gbc_scrollPane_1.fill = GridBagConstraints.BOTH; gbc_scrollPane_1.gridx = 0; gbc_scrollPane_1.gridy = 2; contentPane.add(scrollPane_1, gbc_scrollPane_1); textArea2 = new JTextArea(); scrollPane_1.setViewportView(textArea2); JButton button_1 = new JButton("\u5192\u6CE1\u6392\u5E8F\u6CD5"); button_1.setActionCommand("\u5192\u6CE1\u6392\u5E8F\u6CD5"); button_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { do_button_1_actionPerformed(e); } }); GridBagConstraints gbc_button_1 = new GridBagConstraints(); gbc_button_1.gridx = 0; gbc_button_1.gridy = 3; contentPane.add(button_1, gbc_button_1); } private int[] array = new int[10]; private JTextArea textArea1; private JTextArea textArea2; protected void do_button_actionPerformed(ActionEvent e) { Random random = new Random();// 创建随机数对象 textArea1.setText("");// 清空文本域 for (int i = 0; i < array.length; i++) {// 初始化数组元素 array[i] = random.nextInt(50);// 生成50以内的随机数 textArea1.append(array[i] + " ");// 把数组元素显示的文本域控件中 } } protected void do_button_1_actionPerformed(ActionEvent e) { textArea2.setText("");// 清空文本域 for (int i = 1; i < array.length; i++) { // 比较相邻两个元素,较大的数往后冒泡 for (int j = 0; j < array.length - i; j++) { if (array[j] > array[j + 1]) { int temp = array[j];// 把第一个元素值保持到临时变量中 array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中 array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中 } textArea2.append(array[j] + " ");// 把排序后的数组元素显示到文本域中 } textArea2.append("【"); for (int j = array.length - i; j < array.length; j++) { textArea2.append(array[j] + " ");// 把排序后的数组元素显示到文本域中 } textArea2.append("】\n"); } } }
相关推荐
数据结构课程的作业,著名的冒泡排序法,关于数组的
C 冒泡排序算法的实例源代码,一些排序方法的代码集锦,该函数模板使用冒泡法对集合元素进行排序,参数说明: collection 集合对象,集合对象必须提供 [] 操作。 element 集合元素,该参数的作用仅仅是确定集合...
冒泡派速算法实例,C语言编写,是简单排序算法的一种。
该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。
C语言冒泡排序的习题集,针对C语言冒泡排序算法的重要知识点和难点,提供了大量的练习题和考试题,以及详细的答案和解析,涵盖了冒泡排序算法的原理、步骤、实现方法、优化技巧、相关概念和知识等内容,以及冒泡排序...
冒泡排序法.zip西门子PLC编程实例程序源码下载冒泡排序法.zip西门子PLC编程实例程序源码下载冒泡排序法.zip西门子PLC编程实例程序源码下载冒泡排序法.zip西门子PLC编程实例程序源码下载 1.合个人学习技术做项目参考...
通过比较数字大小,符合条件的数字像气泡一样冒出来,有些逐渐上浮到数组的顶部,有些逐渐下沉到数组的底部,这就是冒泡排序法。第一次用seek记录查找次数,用comparison记录比较次数。这样可以统计出查找的次数和...
里面有几个很好的javaSe基础题目,比如有javaSe的冒泡排序,求数组的最大值,求数组的最小只,求数组是否对称等等算法实例。
冒泡排序法 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出。 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数。 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和...
冒牌排序可谓最基本的排序算法之一,稳定而没有优化空间:D 下面就一起来看一下Swift代码实现冒泡排序算法的简单实例:
本文实例讲述了php数组冒泡排序算法。分享给大家供大家参考,具体如下: <?php /*@冒泡排序算法 */ $array=array(5,45,22,11,32,28,35,56,17,21,92); $len=count($array);//计算数组长度 for($i=0;$i<$len-1;...
对于各种类型(包括自定义类型)的C语言冒泡排序算法,很完整 ,还有应用实例,供初学者使用
本文实例讲述了C语言排序算法之冒泡排序实现方法。分享给大家供大家参考,具体如下: 冒泡排序和改进的冒泡排序 /*------------------------------------------------------------------------------------------- ...
C语言 冒泡排序算法 冒泡排序(Bubble Sort)是一种简单的排序算法...冒泡排序是与插入排序拥有相等的执行时间,但是两种法在需要的交换次数却很大地不同。在最坏的情况,冒泡排序需要O(n2)次交换,而插入排序只要最多
冒泡排序和快速排序则是经典的排序算法,通过实际编码实现,可以更加直观地感受它们的效率差异和应用场景。 除此之外,项目还包含了链表、栈、队列等其他常见数据结构的实现,以及基于这些数据结构的实际应用案例。...
汇编实例 冒泡法 从大到小排序 汇编实例 冒泡法 从大到小排序 汇编实例 冒泡法 从大到小排序 汇编实例 冒泡法 从大到小排序 汇编实例 冒泡法 从大到小排序 汇编实例 冒泡法 从大到小排序
本文实例为大家分享了C++实现双向冒泡排序算法的具体代码,供大家参考,具体内容如下 一、概念(来源于百度百科) 传统冒泡算法原理 冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大...
本文实例讲述了Python实现的插入排序,冒泡排序,快速排序,选择排序算法。分享给大家供大家参考,具体如下: #!/usr/bin/python # coding:utf-8 #直接插入排序 def insert_sort(list): for i in range(len(list))...
冒泡法排序c语言程序
主要介绍了C语言排序方法,包含10种排序,数据结构课程设计实例二叉树建立遍历冒泡排序快速排序_二叉排序树_二叉树层次遍历_二叉树非递归遍历_二叉树建立括号匹配直接插入选择代码大学生本科毕业设计期末作业排序...