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;i<b.length; i++){    if(a[i]>num){    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<a.length-1;i++){
//内层循环:是两两比较的次数=数组长度-1-i
      for(int j =0;j<a.length-1-i; j++){
//两两比较;符合条件则实现交换(用第三变量temp)
          if(a[j]>a[j+1]){
           int temp=0;
           temp=a[j+1];
           a[j+1]=a[j];
           a[j]=temp;

   }
  } 
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值