利用随机类生成数组,并用冒泡排序以及选择排序对不同数组的元素进行从小到大的排序

利用随机类生成数组,并用冒泡排序以及选择排序对不同数组的元素进行从小到大的排序

import java.util.Random;

public class BubbleSort {

           int num=20;      

              int[] a=new int[num];

              String[] b=new String[num];

              Random rand=new Random();            

   BubbleSort(){

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

                   Integer k=new Integer(rand.nextInt(100));

                   Integer t=new Integer(rand.nextInt(100));

                 a[i]=k;

                 b[i]=String.valueOf(t); }

               System.out.println("冒泡排序序列,原始随机数列a[]    ");

               for(int j=0;j<a.length;j++){

                System.out.print(a[j]+" ");}

               System.out.println("");

               System.out.println("选择排序序列,原始随机数列b[]    ");

               for(int j=0;j<b.length;j++){

                System.out.print(b[j]+" ");}      }    

   void BubbleSortProcedure(){  //冒泡排序方法

                         int pass,i,exchangeCnt;

                      int temp =0;

for(pass=0;pass<a.length;pass++) { //扫描多次

                  exchangeCnt=0;//记录本轮两两交换的次数

                          for(i=0;i<a.length-pass-1;i++)      //一次扫描过程

                          { //每次扫描比较范围缩小一个

                              if( a[i]>a[i+1] { //一次两两比较交换过程

                                     temp = a[i];

                                  a[i] = a[i+1];

                                  a[i+1] = temp;

                                  exchangeCnt++;}}

                     prnt();

                     System.out.println(" ");               

                     if(exchangeCnt == 0) //若一次也未交换,则说明已完全排好序,不必再循环                    return; }}   

   void SelectSortProcedure(){   //选择排序方法

                  int pass,i,k;

               String temp =" ";

               for(pass=0;pass<b.length-1;pass++){

                   for(i=pass,k=i;i<b.length;i++)     

                       if(b[i].compareToIgnoreCase(b[k]) < 0)     

                           k = i;                  

                   temp = b[pass];

                   b[pass] = b[k];

                   b[k] = temp; }

               System.out.println("利用选择排序排列原始随机数列:    ");

               for(i=0;i<b.length;i++)

                   System.out.print(b[i]+" ");}  

   void prnt(){

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

                      System.out.print(a[i]+" ");

            }     

   public static void main(String[] args){

               BubbleSort bubble=new BubbleSort();

               System.out.println("");

               System.out.println("利用冒泡排序排列原始随机数列:    ");

               bubble.BubbleSortProcedure();

               bubble.SelectSortProcedure();

       }} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值