一丶数组的添加
- 创建一个新的数组int[] arr={1,2,3}
- 在创建一个新的数组arr2
- Arr2的长度是arr的长度加1
- 遍历数组arr1,并且将arr1的数组元素全部复制到arr2中
- 把4的值赋给arr2「arr.length-1」
二丶数组的减少
6. 创建一个新的数组int[] arr={1,2,3,4,5}
7. 在创建一个新的数组arr2
8. Arr2的长度是arr的长度减一
9. 遍历arr数组(这里注意,arr2的长度比arr少,所以,要少遍历一个)
10. 将arr数组的元素全部拷贝到arr2中
11. 运用do-while循环,当减到最后一个元素时,提示,不能再减少
三丶将一个数组进行逆序输出(1)
逆序赋值发:
12. 创建一个新的数组int [] arr={11,22,33,44,55,66}
13. 再开辟一个新的空间,创立新的数组arr2
14. 使用for循环
15. Arr2数组的第一个数组等于arr数组的最后一个元素
16. 遍历arr2数组并输出数组
使用 数组长度/交换次数的方法
- 创建一个新的数组int[] arr={11,22,33,44,55,66}
- 遍历arr,输出交换前的数组元素顺序
- 声明定义一个中间变量 temp
- For(int i=0;i<arr.length/3;i++){
Temp=arr[i];
Arr[i]=arr[arr.length-1-i];
Arr[arr.length-1-i]=temp; - 使用上述方法完成交换
- 遍历arr,输出交换后的数组元素顺序
四丶在数组中找到最大值
23. 声明定义一个数组
24. 定义两个变量,一个代表最大值,一个代表最大值所对应的下标
25. 将第一个元素首先看成最大元素
26. 使用for循环里面嵌套if语句进行比较
27. 如果后面的比第一个元素大,则把后面的元素值赋给最大值
五丶数组的拷贝
1定义声明一个新的数组int[] arr={10,20,30}
2.再开辟一个新的空间,创建一个新的数组arr2
3.arr2的长度等于arr的长度
4.使用for循环对arr进行遍历并且将arr的值依次赋值给arr2
5.Arr与arr2是两个独立的空间,因此,改变arr的值不会改变arr2的值
六丶冒泡排序
{24,59,82,27,13}
第一轮比较(为了将最大的数放到最后面):
第一次比较:24,59,82,27,13
第二次比较:24,59,82,27,13
第三次比较:24,59,27,82,13
第四次比较:24,59,27,13,82
第二轮 比较(为了将第二的数字放到倒数第二个位置上):
第一次比较:24,59,27,13,82
第二次比较:24,27,59,13,82
第三次比较:24,27,13,59,82
第三轮比较(为了将第三大的数子放在倒数第三个位置上):
第一次比较:24,27,13,59,82
第二次比较:24,13,27,59,82
第四轮比较:(为了将第四大的数字放在倒数第四个位置上):
第一次比较:13,24,27,59,82
由此可见:数组重的元素共有五个,共比较了四轮
第一轮比较的代码:
int temp=0;
For(int j=0;j<4;j++){
If(arr[j]>arr[j+1]){
Temp=arr[j];
Arr[j]=arr[j+1];
Arr[j+1]=temp;
}
}
所以,经过类比,全代码为:
Int temp=0;
For(int i=0;i<4;i++){
For(int j=0;j<4;j++){
If(arr[j]>arr[j+1]){
Temp=arr[j];
Arr[j]=arr[j+1];
Arr[j+1]=temp;
}
}
}
为了增加代码的灵活性:
Int temp=0;
For(int i=0;i<arr.length;i++){
For(int j=0;j<arr.length-1-i;j++){
If(arr[j]>arr[j+1]){
Temp=arr[j];
Arr[j]=arr[j+1];
Arr[j+1]=temp;
}
}
}
注:arr.length-1-i:是为了体现出每轮下面的比较次数的递减过程:(4(5-1-0)->3(5-1-1)->2(5-1-2)->1(5-1-3))
七丶顺序查找
28. 建立新的数组
29. 接收用户输入
30. 遍历数组,并且进行比较
注:新的代码思想,可以通过定义一个index来判断程序是否进入if判断。