一维数组最后几题(java)

1、在一组排序好的数组中,插入一个数。

int[] a = { 90, 80, 70, 60, 50, 40, 30, 20, 10, 0 };

            int b = 25;

            for (int i = 0; i <= a.length - 2; i++)

            {

                if (b > a[i])

                {

                    for (int j = a.length - 2; j >= i; j--)

                    {

                        a[j + 1] = a[j];

                    }

                    a[i] = b;

                    break;

                }

            }

            for (int i = 0; i < a.length; i++)

            {

                System.out.print(a[i] + " ");

            }

2、对一个乱序的一维数组排序

int[] a = { 1, 3, 5, 2, 4, 6 };

                   int t;

                   for(int j = 1; j <= a.length - 1; j++)

                   {

                            for(int i = a.length - 1; i >= j; i--)

                            {

                                     if(a[i - 1] > a[i])

                                     {

                                               t= a[i - 1];

                                               a[i- 1] = a[i];

                                               a[i]= t;

                                     }

                            }

                   }

                   for(int k = 0; k < a.length; k++)

                   {

                            System.out.print(a[k]+ " ");

                   }

3、求一组数中的最大值和第二大值

int[] a= {1,4,7,2,5,8,3,6,9};

                   intmax1=0,max2=0;

                   for(inti=0;i

                   {

                            if(a[i]>max1)

                            {

                                     max2=max1;

                                     max1=a[i];

                            }

                            elseif(a[i]>max2)

                            {

                                     max2=a[i];

                            }

                   }

                   System.out.println(max1);

                   System.out.println(max2);

4、求一组数中的前n个最大值

int[] a= {1,4,7,2,5,8,3,6,9},b;

                   intc;

                   Scannerscan=new Scanner(System.in);

                   System.out.println("想对前几个数排序?");

                   c=scan.nextInt();

                   scan.close();

                   b=newint[c];

                   for(inti=0;i

                   {

                            for(intj=0;j

                            {

                                     if(a[i]>b[j])

                                     {

                                               for(intk=b.length-2;k>=j;k--)

                                               {

                                                        b[k+1]=b[k];

                                               }

                                               b[j]=a[i];

                                               break;

                                     }

                            }

                   }

                   System.out.println("数组中最大的前"+c+"个是:");

                   for(int k = 0; k < b.length; k++)

                   {

                            System.out.print(b[k]+ " ");

                   }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,584评论 0 9
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 6,022评论 0 2
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,943评论 0 3
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 14,702评论 0 89
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 11,979评论 0 9

友情链接更多精彩内容