有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

算法数组排序浏览:122收藏:0
答案:
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
import java.util.Random;
public class ArraySort {
    public static void main(String[] args)
    {  int temp=0;
        int myarr[] = new int[12];
        Random r=new Random();
        for(int i=1;i<=10;i++)
        myarr[i]=r.nextInt(1000);
        for (int k=1;k<=10;k++)
        System.out.print(myarr[k]+",");
        for(int i=1;i<=9;i++)
        for(int k=i+1;k<=10;k++)
        if(myarr[i]>myarr[k])
        {
            temp=myarr[i];
            myarr[i]=myarr[k];
            myarr[k]=temp;
        }
        System.out.println("");
        for (int k=1;k<=10;k++)
        System.out.print(myarr[k]+",");
        
        myarr[11]=r.nextInt(1000);
        for(int k=1;k<=10;k++)
        if(myarr[k]>myarr[11])
        {
            temp=myarr[11];
            for(int j=11;j>=k+1;j--)
            myarr[j]=myarr[j-1];
            myarr[k]=temp;
        }
        System.out.println("");
        for (int k=1;k<=11;k++)
        System.out.print(myarr[k]+",");
    }
}