●
●
●
●
《最受欢迎的精准提升平台》
/**
*@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
新浪微博:清哥好课堂
联系客服