A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© crosam 中级黑马   /  2015-9-8 23:48  /  453 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 题目:有一个已经排好序的数组。现输入一个数,
* 要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,
插入后此元素之后的数,依次后移一个位置。

*/
package day10;
import java.util.Scanner;
public class Prog30{
        public static void main(String[] args){
                int[] A = new int[]{0,8,7,5,9,1,2,4,3,12};
                int[] B = sort(A);
                print(B);
                System.out.println();
        System.out.print("请输入10个数的数组:");
                Scanner scan = new Scanner(System.in);               
int a = scan.nextInt();
scan.close();
                int[] C = insert(a,B);
                print(C);
        }
        //选择排序
        private static int[] sort(int[] A){
                int[] B = new int[A.length];
                for(int i=0;i<A.length-1;i++){
                        int min = A[i];
                        for(int j=i+1;j<A.length;j++){
                                if(min>A[j]){
                                        int temp = min;
                                        min = A[j];
                                        A[j] = temp;
                                }
                                B[i] = min;
                        }
                }
                B[A.length-1] = A[A.length-1];
                return B;
        }
        //打印
        private static void print(int[] A){
                for(int i=0;i<A.length;i++)
                  System.out.print(A[i]+" ");
        }
        //插入数字
        private static int[] insert(int a,int[] A){
                int[] B = new int[A.length+1];
                for(int i=A.length-1;i>0;i--)
                  if(a>A[i]){
                          B[i+1] = a;
                    for(int j=0;j<=i;j++)
                      B[j] = A[j];
                      for(int k=i+2;k<B.length;k++)
                        B[k] = A[k-1];
                      break;
                  }
                return B;
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马