将2数组创建的新数组进行冒泡算法

public class demo{

      public static void main(String args[]){
      //定义2个数组
      int a[]={1,3,5,7,9,11}; 
      int b[]={2,4,6,8};
      //定义一个新数组,长度是a和b的长度之和[.length代表数组的长度]
      int[]c=new int[a.length+b.length];
     
      //将数组a的数据按照下标对应放入c数组
      //执行for循环,当i=0,i<a的长度是,i++,将数组a的元素赋给了数组c
      for(int i=0;i<a.length;i++){
          c[i]=a[i];
      }
      //将数组b的数据放到a的数据的后面,数组c的长度是和a相等的所以是a.length+i
      for(int i=0;i<b.length;i++){
          c[a.length+i]=b[i];
      }
      /*冒泡排序,冒泡排序是一种简单的交换类排序。其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
      一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i趟需要比较n-i次。*/

      /*因为数组的第一个元素是c[0],所以一个长度是6的数组最后一个元素是c[5]。需要将后一位与前一位数值进行比较,列如a[1]和a[2],所以i<c.length-1 */
      for(int i=0;i<c.length-1;i++){ 
          for(int j=i+1;j<c.length;j++){
          if(c[i]>c[j]){
                  int temp=c[i];
                  c[i]=c[j];
                  c[j]=temp;
      //如果c[i]>c[j],就将c[i]和c[j]位置进行对换
              }
          }
      }
      //需要for循环将数组c的元素输出出来
      for(int i=0;i<c.length;i++)
      System.out.println(c[i]);
      }
}

猜你喜欢

转载自hxquicl.iteye.com/blog/2249742
今日推荐