Java基础-数组插入排序算法和冒泡排序算法的实现小结

一、插入算法的步骤:

  1. 先将旧数组a排序,再复制一个长度(a.length+1)--(排序:Arrays.sort(旧数组a);复制:Arrays.copyOf(旧数组a, a.length+1));
  2. for循环遍历找出要插入的位置,int a =index;
  3. for循环将从index-->新数组长度的元素后移;
  4. 将要插入的值赋给a[index];
  5. 实现代码如下:
public class ArraysTest{
//插入排序:将数字4插入以下数组
public void static main(String[]args){
int[] a = {1,3,8,5,6,10}
int num=4;
//第一步Arrays.sort(a); //排序int[] b =Arrays.copyOf(a, a.length+1); //复制一个新数组 //第二步int index = -1;for(int i = 0;inum){    index=i;    break;    }} //第三步for(int i=a.length-1;i>index; i--){    a[i]=a[i+1];} //第四步a[index]=num;}}

二、冒泡排序实现口诀:

  1. N个数字来排队;
  2. 两两相比小靠前;
  3. 外层(循环轮数=i)i=N-1;
  4. 内层(循环比较次数 j)j=N-1-i;

实现代码如下:

public class MaopaoTest{
//冒泡排序:将数组a升序排列
public static void main(String[] args){
    int[] a ={1,3,8,5,6,10};
    //外层循环:是轮次=数组长度减一
    for(int i =0;i
//内层循环:是两两比较的次数=数组长度-1-i
      for(int j =0;j
//两两比较;符合条件则实现交换(用第三变量temp)
          if(a[j]>a[j+1]){
           int temp=0;
           temp=a[j+1];
           a[j+1]=a[j];
           a[j]=temp;

   }
  } 
}
}
}

你可能感兴趣的:(Javaの基础)