eclipse软件
win7系统
1.快速排序算法:快速排序算法的基本原理:通过一趟排序将排序的数据分割成两个部分,一部分的数据比另个部分的数据小,然后,按照上述原理再次对两个小部分在次分割,几次往复,就可以实现对数据的排序了。其大概过程,可以可参考下图。
2.打开编程软件:打开自己的IDE如图所示,小编的是eclipse软件。
3.建立一个java工程:对于java工程的小伙伴们,相信大家都是老司机了,能够自己完成的;工程的目录层次和开始的界面,如图所示。
1.类的结构:本实例中,采用一个整体的类来实现的,当然也可对不同的工程建立不不同的类,有想法的小伙伴们可以自己想想。类中涉及到,文本框,按钮,标签等属性,设计到构造方法,数据获取方法,排序方法,事件处理方法和main方法等一下方法。
2.构造方法:该法主要对类中的属性进行初始化,本实例中主要涉及到对界面窗口控件的初始化,代码如下: public QuickSort(){ jp.setLayout(null); jl.setBounds(30, 10, 340, 36); jp.add(jl); jl2.setBounds(30,130,100,30); jp.add(jl2); jsp_in.setBounds(30, 45, 340, 70); jp.add(jsp_in); jta_in.setLineWrap(true); jsp_out.setBounds(30, 165, 340, 170); jp.add(jsp_out); jta_out.setLineWrap(true); jb_act.setBounds(200, 125, 70, 30); jp.add(jb_act); jb_cle.setBounds(300, 125, 70, 30); jp.add(jb_cle); jb_act.addActionListener(this); jb_cle.addActionListener(this); this.add(jp); this.setTitle('选择法排序'); this.setBounds(100, 100, 400, 400); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setResizable(false); }
3.数据获取方法:该方法主要对从窗口的文本框空间中获取的数据进行相关的处理,用于获取我们想要输入的数组,主要涉及到对数据的检验和数据的转换,代码如下:public void getArray(){ String arrayStr=jta_in.getText().trim(); if(arrayStr.equals('')){ JOptionPane.showMessageDialog(null,'请输入数字内容'); return; } for(int i=0;i
4.排序方法:该方法是本实例实现的核心代码,主要采用快速排序法对数据进行排序,代码如下,有些晦涩难懂,希望老司机小伙伴们认真的读读:public void quickSort(double[] sortarray,int lowIndex,int highIndex){ int lo=lowIndex; int hi=highIndex; double mid; if(highIndex>lowIndex){ mid=sortarray[(lowIndex+highIndex)/2]; while(lo<=hi){ while((lo
5.事件处理方法:用于对按钮事件的处理,实现gui人机交互,具体代码如下: public void actionPerformed(ActionEvent e){ if(e.getSource()==jb_act){ getArray(); quickSort(array,0,array.length-1); }else{ jta_in.setText(''); jta_out.setText(''); } }
6.main方法:main方法的代码如下:public static void main(String[] args) { new QuickSort(); }
1.编译和运行:单击eclipse工具栏中的“编译与运行”按钮,会出现我们的程序窗口界面如下图示。
2.排序效果:对于出来的窗口界面,在输入框中输入相应的数据,然后单击“排序”按钮,就会出现我们的排序结果,如图中所示。
如有疑问可以留言
分享可以使我们懂得更多