冒泡算法编码

其基本思想是,将待排序的数据依次进行相邻的比较,如不符合顺序的要求,两个数立即交换。

经过一趟比较后,最大的元素就被排到了最后,依次进行,就完成了整个的排序的过程。

循环分为内外二层,每次内层循环取出一个最大或者最小的值。

import java.io.*;

public class BubbleSort {

 /**

  * @param args

  */

 public static void main(String[] args) 

{

int a[]=new int[20];       

File fin=new File(“423_in2.dat”);           

File fout=new File(“423_out2.dat”);

String score=””;

String s[]=new String[20];

int length=(int)fin.length();        

char[] b=new char[length];

try 

int  ch

  FileInputStream filein=new FileInputStream(fin); 

  FileWriter fileOut=new FileWriter(fout);

  int k=0;

  while((ch = filein.read())!=-1 ){

   b[k]=(char)ch;

   k++;

  }

  score=new String(b);

  s=score.split(“
\\D
“);                 

   k=0;

  for(int i=0;i<20;i++)

                                  {

        a[i]=Integer.parseInt(s[k]);

             k++;

  }                      

  fileOut.write(“排序前的数组是:”);

  for(int i=0;i<20;i++){

   fileOut.write(s[i]+” “);

  }

  fileOut.write(“\n”+”排序后的数组是:”);        

  for(int i=0;i<20;i++)

                                   {

     for(int j=0,temp=0;j<20-i-1;j++)

                                      {

                          if(a[j]>a[j+1])

                                            {

   temp=a[j];

   a[j]=a[j+1];

   a[j+1]=temp;

            }

  }}

  for(int i=0;i<20;i++)

                                  {

   fileOut.write(((Integer)a[i]).toString()+” “);

  }

                           

  fileOut.flush();

  fileOut.close();

  }

  catch(IOException e)

                                  {

       e.printStackTrace();

  }

 }}

点赞