// BubbleSort.java // Sorts array in ascending order using a bubble sort // APPLET CODE="BubbleSort" HEIGHT=150 WIDTH=300 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BubbleSort extends JApplet implements ActionListener { // declare and hard code the array int p[ ] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; int temp; // temporary holding area for swap // GUI Components Container c; JTextArea outputArea; JButton b; public void init( ) { c = getContentPane( ); c.setLayout( new FlowLayout( ) ); outputArea = new JTextArea( 6, 20 ); c.add( outputArea ); b = new JButton( "Sort" ); b.addActionListener( this ); c.add( b ); } public void actionPerformed( ActionEvent e ) { outputArea.append( "Data items in original order: \n" ); for ( int i = 0; i < p.length; i++ ) outputArea.append( " " + p[ i ] ); sort( ); // no need to pass array since it's an instance variable outputArea.append( "\nData items in ascending order: \n" ); for ( int i = 0; i < p.length; i++ ) outputArea.append( " " + p[ i ] ); } void sort( ) { for ( int pass = 1; pass < p.length; pass++ ) for ( int i = 0; i < p.length - pass; i++ ) if ( p[ i ] > p[ i + 1 ] ) { temp = p[ i ]; p[ i ] = p[ i + 1 ]; p[ i + 1 ] = temp; } } }