JAVA经典算法第三十题

【程序30】   题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。  
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]+",");
  }
}


你可能感兴趣的:(java,算法,J#)