数组

一、 数组排序问题

使用Arrays.sort(数组名);

实现对数组中的元素按升序或降序输出

课堂案例:

有数列110-10084,要求实现按升序或降序输出,或逆序输出(反转)

二、 求最大值或最小值

实现思路:

将数组中的第1个元素的值,假想成最大(小)值【赋值】;然后数组中的每个元素和假想的这个最大(小)数进行比较,如果数组中的某个元素的值,比最大(小)数要大(小),将该元素的值,保存到假想的最大(小)值对应的变量中给假想最值变量赋值

 

三、 求数组中最值的位置

1、 在循环的外面,定义变量k,用于保存最值的下标

2、 在循环中,比较找出最值的同时,给变量k赋值

 

四、 斐波那契数列

112358132134……求第20个数字的值?(使用循环)

规律:第i+ (i+1)= (i+2)

步骤1:定义数组,数组长度为20

int []nums=new int[20];

步骤2:根据规律,获取第0个和第1个数的初值

nums[0]=1;

nums[1]=1;

步骤3:通过循环,给数组中的所有元素赋值

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

nums[i+2]=nums[i]+nums[i+1];

}

for(int i=2;i<nums.length;i++){

nums[i]=nums[i-2]+nums[i-1];

}

步骤4:输出nums[19]的值

 

 

 

已知一个数组,如何将一个【新的元素】插入到数组中的指定位置?

 

实现思路:

 

1、 定义一个长度为 【已知数组长度+1】的新数组YY

 

2、 使用第1个循环,将已知数组中的每个元素的值,保存到新数组YY

 

3、 使用第2个循环,将新数组YY中的元素,从倒数第2个(新数组YY的长度-2)元素开始截止到指定的位置,依次向后移动1个位置

 

4、 直接将【新的元素】赋值给新数组YY中的指定元素(下标为指定位置)即可

 

5、 使用第3个循环,输出新数组YY的值

 

 

 

已知1个按升序或降序排列的数组,向该数组中,插入一个新的值,插入成功后,数组仍然按照升序或降序排列?

 

1、 设置插入位置变量index的初始值为:数组长度-1;

 

2、 使用第1个循环,让插入的数值和数组中的每个元素进行比较,如果插入的数值比数组中某个元素的值要大或小,把该元素的下标的值, 赋予插入位置变量index,同时终止循环

 

3、 使用第2个循环,移动位置,从【数组长度-1】到【插入位置变量index

 

4、 将插入的值,保存到数组下标为index的位置

 

5、 使用第3个循环,输出数组所有元素的值,同时输出新值插入的位置

 

原文地址:https://www.cnblogs.com/1396493331qq/p/6887954.html