打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数组算法--最大值 插入


清哥好课堂

《最受欢迎的精准提升平台》

数组算法--最大值 插入
/***@Title: ${filename}*@Package: ${package_name}*@Description: ${todo}*算法:最大值, 插入**@author:  源代码资料尽在"清哥好课堂"公众号:qghktit*@date: ${date}${time}*@version: 1.0*/public class ArraryAlgorithm2 {  public static void main(String[] args) {    //插入算法的第二种方式    int[] arr = {1,3,5,7,9,0};   //0是为要插入的元素预留的位置 空间    int n = 5;        //1、把n插入到数组的最后一个位置上    arr[arr.length-1] = n;    //2、要保持元素有序,所有    //从后往前,依次比较,如果后一个元素,比前一个元素小,交换    //直到前面的数比它小,就停止        for (int i=arr.length-1; i>0; i--)    {      if (arr[i] < arr[i-1])      {        //交换        int t = arr[i];        arr[i] = arr[i-1];        arr[i-1] = t;      }    }//    if (arr[4] < arr[3])//    {//      //交换//    }//    if (arr[3] < arr[2])//    {//      //交换//    }//    if (arr[2] < arr[1])//    {//      //交换//    }//    if (arr[1] < arr[0])//    {//      //交换//    }    //输出数组中的元素    for (int i=0; i<arr.length; i++)    {      System.out.print(arr[i]+",");    }  }  public static void main2(String[] args) {    //插入    /*    对于有序的序列,插入一个数之后,仍然有序    1,3,5,7,9    插入6    1,3,5,6,7,9    */    int[] arr = {1,3,5,7,9,0};   //0是为要插入的元素预留的位置 空间    int n = 5;
//1、通过比较 ,找出n要插入的位置 //从前往后,查找 int loc = -1; //用来记录n要插入的位置 for (int i=0; i<arr.length; i++) { //找到第一个比n大的元素的位置 if (n < arr[i]) { loc = i; break; } } if (loc == -1) //如果没有找到合适的位置,应该要插入的数是最大的, {//所以插入在数组的最后一个位置 loc = arr.length-1; } System.out.println("loc:"+loc); //2、把该位置空出来,要把该位置和位置之后的元素往后移 for (int i=arr.length-1; i>loc; i--) { arr[i] = arr[i-1]; } //3、插入元素 arr[loc] = n;
//输出数组中的元素 for (int i=0; i<arr.length; i++) { System.out.print(arr[i]+","); } } public static void main1(String[] args) { //求最大值 int[] arr = new int[]{2,200,3,50,6,79, 100, 5,150}; //第二种方式,记录最大值的位置 int index = 0; //定义位置的变量, //表示一开始认为第一个位置上的值最大 for (int i=1; i<arr.length; i++) { if (arr[index] < arr[i]) { index = i; //记录最大值的位置 } }
System.out.println("最大值是:"+arr[index]+", 最大值的位置:"+index);// if (arr[index] < arr[2])// {// index = 2; //记录最大值的位置 // }// if (arr[index] < arr[3])// {// index = 3; //记录最大值的位置 // }
//第一种方式,记录最大值// int max = arr[0];// // for (int i=1; i<arr.length; i++)// {// if (max < arr[i])// {// max = arr[i];// }// }//// System.out.println("最大值为:"+max);
// if (max < arr[2])// {// max = arr[2]// }// if (max < arr[3])// {// max = arr[3]// }// // ....// // if (max < arr[5])// {// max = arr[5]// } }}

清哥好课堂公众号

微信号 : qghktit

新浪微博:清哥好课堂

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
(Java)寻找最大值
必学十大经典排序算法,看这篇就够了
排序算法 --- 计数排序
LeetCode 769.最多能完成排序的块(中等)
[LeetCode] Maximum Product Subarray的4种解法
常用的各种排序算法(C语言实现)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服