请完成Java程序:本题是一个冒泡排序程序的实例。冒泡排序的含义是将相邻的两个数作比较,如果是升序排列的话,如果前边的数大,则将两个数交换。从第一个数开始两两比较一次,就可以将最大的数移动到最后。 注意:请勿修改main()主方法和其他已有语句内容,

admin2009-12-22  33

问题 请完成Java程序:本题是一个冒泡排序程序的实例。冒泡排序的含义是将相邻的两个数作比较,如果是升序排列的话,如果前边的数大,则将两个数交换。从第一个数开始两两比较一次,就可以将最大的数移动到最后。
   注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
   import java.io.*;
   public class simple
   {
      public static int[]Data=new int[10];
      public static void main(String[] args)
         int i;
         int Index;
         Index=0;
         InputStreamReader ir;
         BufferedReader in;
         ir=new InputStreamReader(System.in);
         in=new BufferedReader(ir);
         try
         {
            do
            {
               System.out.println("Please input the number"+
               Index+"you want to sort(Exit for 0):");
               String s=in.readLine();
               Data[Index]=Integer.parseInt(s);
               Index++;
            }
            while(Data[Index-1]!=0);
         }
         catch(IOException e)
         {
            System.out.println(e.getMessage());
         }
         System.out.print("Before bubble sorting:");
         for(i=0; i<Index-1; i++)
            System.out.print(" "+Data+" ");
            System.out.println(" ");
            BubbleSort(Index-1);
            System.out.print("After Bubble Sorting:");
         for(i=0; i<Index-1;i++)
            System.out.print(" "+Data+" ");
            System.out.println(" ");
      }
      public static void BubbleSort(int Index)
      {
         int i, j, k;
         boolean Change;
         int Temp;
         for(j=Index; j>1;j--)
         {
            Change=false;
            for(i=0; i<j-1;i++)
            {
               if(Data[i+1]<Data)
               {
                  Temp=Data[i+1];
                  Data[i+1]=Data;
                  ______;
                  ______;
               }
            }
            if(Change)
            {
               System.out.print("Current Sorting Result:");
               for(k=0; k<Index; k++)
                  System.out.print(" "+Data[k]+" ");
                  System.out.println(" ");
            }
         }
      }
   }

选项

答案Data[i]=Temp Change=true

解析 本题考查知识点:基本排序算法。冒泡排序是最常用的交换排序方式,其核心算法就是比较和交换。交换的最简单方法是用一个中间变量作交换中介。先把其中一个值存入临时变量,然后将另一个值赋给第一个值,最后将临时变量赋给另一个值(第1个空)。另外,为加快速度,如果排序已经完成了,就可以直接返回,而不必等待循环结束(第2个空,将标志变量设为真)。
转载请注明原文地址:https://jikaoti.com/ti/nQb0FFFM
0

最新回复(0)