沉默奔跑者

记录学习轨迹
随笔 - 1, 文章 - 2, 评论 - 5, 引用 - 0
数据加载中……

冒泡排序(过程显示)

import java.awt.*;
import java.applet.*;

public class BubbleSort extends Applet {
    
    Label prompt
=new Label("请输入欲排序的整数数据(最多10个): ");
    TextField input
=new TextField(5);
    Button sortbtn
=new Button("排序");
    
int[]  DataArray=new int[10];
    
int DataInputed=0;
    
int[][] SortPro=new int[11][10];
    
    
public void init()
    
{
        add(prompt);add(input);add(sortbtn);
    }
 
    
public void paint(Graphics g){
        
        
for(int i=0;i<SortPro.length;i++)
        
for(int j=0;j<SortPro[i].length;j++)
        g.drawString(Integer.toString(SortPro[i][j]),
10+30*j,40+20*i);
    }

    
    
    
public boolean action(Event e,Object o){
        
if(e.target==input){
            DataArray[DataInputed
++]=Integer.parseInt(input.getText());
            
if(DataInputed<10){
                prompt.setText(
"已输入"+DataInputed+"个数据,请继续");
                input.setText(
"");
            }

            
else
            
{prompt.setText("已输入10个数据,不能再输入了");
            input.hide();        
            }

        }

        
if(e.target==sortbtn)
        
{for(int i=0;i<DataArray.length;i++)
        SortPro[
0][i]=DataArray[i];
        SortProcedure();
        repaint();
        }

        
return true;
        }

        
void SortProcedure(){
        
int pass,i,temp,exchangeCnt;
        
for(pass=0;pass<DataArray.length;pass++)
        
{
            exchangeCnt
=0;
            
for(i=0;i<DataArray.length-pass-1;i++)
    
{    if(DataArray[i]>DataArray[i+1])
        
{temp=DataArray[i];
        DataArray[i]
=DataArray[i+1];
        DataArray[i
+1]=temp;
        exchangeCnt
++;
        }

        }

        
for(i=0;i<DataArray.length;i++)
        SortPro[pass
+1][i]=DataArray[i];
        
if(exchangeCnt==0)
        
return
        }

        }

        }

        
        
        

posted on 2008-03-11 11:08 沉默奔跑者 阅读(737) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问