java中的数组的常见操作问题
来源:互联网 发布:投影机网络控制软件 编辑:程序博客网 时间:2024/05/18 03:51
数组操作常见操作
对数组操作最基本的动作就是存和取。
核心思想:就是对角标的操作。
示例:遍历并打印数组元素
class ArrayDemo{ public static void main(String[] args) { int[] arr = {89,34,270,17}; for(int x = 0; x < arr.length; x += 1){ System.out.println("arr[" + x + "] = " + arr[x] + ";"); } }}
常见操作一:获取最值(最大值,最小值)
思路:
1、需要进行比较,并定义变量记录住每次比较后较大的值。
2、对数组中的元素进行遍历取出,和变量中记录的元素进行比较。
如果遍历到的元素大于变量中记录的元素,就用变量该记录住大的值。
3、遍历结果,该变量记录就是最大值。
两个明确:
明确一:结果。是数组中的元素:int类型。
明确二:未知内容。数组。
示例1:通过定义变量记录较大的值的方式实现。
class ArrayDemo{ public static void main(String[] args) { int[] arr= {89,34,-270,17,3,100}; int max = getMax(arr); System.out.println("max = " + max); } public static int getMax(int[] arr){ int maxElement = arr[0]; for(int x = 1; x < arr.length; x++){ if(arr[x] > maxElement) maxElement = arr[x]; } return maxElement; }}
示例2:通过定义变量记录较大的值的索引方式实现。
class ArrayDemo{ public static void main(String[] args) { int[] arr= {89,34,-270,17,3,100}; int max = getMax(arr); System.out.println("max = " + max); } public static int getMax(int[] arr){ int maxIndex = 0; for(int x = 1; x < arr.length; x++){ if(arr[x] > arr[maxIndex]) maxIndex = x; } return arr[maxIndex]; }}
常见操作二:排序(选择排序,冒泡排序)
选择排序
思路:
1、首先拿数组第一个元素依次与除其自身外的其他每个元素顺序比较,如果第一个元素大于剩下的某个元素,就互换内容。
2、经过第一轮比较之后,此时,第一个元素就是数组中最小的元素。然后再拿第二个元素与除第一个元素和其自身的元素进行比较,如果第二个元素大于剩下的某个元素,就互换内容。此时,第二个元素就是数组中倒数第二小的元素。
3、依次类推,直到最后一个元素。
class ArrayDemo{ public static void main(String[] args) { int[] arr= {89,34,-270,17,3,100}; System.out.print("排序前数组:" ); printArray(arr); selectSort(arr); System.out.print("排序后数组:" ); printArray(arr); } public static void selectSort(int[] arr){ for(int x = 0; x < arr.length - 1; x++){ for(int y = x + 1; y < arr.length; y++){ if(arr[x] > arr[y]){ int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } public static void printArray(int[] arr){ System.out.print("[" ); for(int x = 0; x < arr.length; x++){ if(x != arr.length - 1) System.out.print(arr[x] + "," ); else System.out.println(arr[x] + "]" ); } }}
P.S.
1、上面的selectSort方法之所以不用返回int数组的原因是因为:arr引用变量是对传入selectSort方法中作为参数的数组的引用,selectSort方法执行完毕之后,我们依然可以通过arr引用变量操作传入的数组。所以,没有必要再通过返回值获取。
2、上面的选择排序算法效率比较低,因为数组每一个元素与剩下的元素比较就是为了获得最小的元素并且与之互换。例如:{89,34,-270,17,3,100}这个数组,第一轮就要互换4次才能使第一个元素存储的是这个数组中最小的元素。如果是这样,那么更高效率的方式则是只需要通过两个变量,一个记录最小值,一个记录最小值所在的角标即可。等当前元素与余下的所有元素比较完,直接互换,这样只需互换一次就能达到目标,效率自然就会提高。
0 0
- java中的数组的常见操作问题
- 【java笔记】数组、数组的常见操作
- 数组操作的两个常见小问题
- java中数组的常见操作
- Java中一维数组的常见操作
- java基础05数组中的常见操作函数
- 数组的常见操作
- 数组的常见操作
- 数组的常见操作
- 数组的常见操作
- 数组的常见操作
- Java--数组常见操作:遍历
- 常见的数组问题
- 数组常见的问题
- 1.7Java数组的常见操作和实体的属性
- 黑马程序员之java中数组的常见操作1
- 黑马程序员之java中数组的常见操作2
- Java 数组操作常见的十一种方法
- 九度oj 1068
- 并发
- (C/C++ 学习笔记)函数指针语法基础
- HeadFirst 设计模式 10状态模式(糖果机)
- js对话框
- java中的数组的常见操作问题
- UIWebView与JS的深度交互
- MyEclipse 快捷键大全
- 2015 ACM多校训练第二场
- Android开发性能优化大总结
- HeadFirst 设计模式 11代理模式
- Mac下Android Studio快捷键
- POJ_1050_ToTheMax
- 黑马程序员——JAVA基础——集合