`
周一Monday
  • 浏览: 345991 次
  • 来自: 北京
社区版块
存档分类
最新评论

数组的一些常见操作

阅读更多
package org.monday.app.array;

/**
 * 数组的常见操作
 */
public class ArrayMain {

	public static void main(String[] args) {
		int[] arr = { 1, 3, 0, 3, -9, 23 };
		// show(arr);
		// System.out.println(max(arr));
		// System.out.println(min(arr));
		// System.out.println(getIndex(arr, 3));
		// sort(arr);
		// bubbleSort(arr);
		// reverse(arr);
		show2(arr);
	}

	/**
	 * 遍历数组(正向输出)
	 */
	public static void show(int[] arr) {
		for (int i = 0; arr != null && i < arr.length; i++) {
			if (i != arr.length - 1) {
				System.out.print(arr[i] + ",");
			} else {
				System.out.print(arr[i]);
			}
		}
	}

	/**
	 * 遍历数组(反向输出)
	 */
	public static void show2(int[] arr) {
		for (int i = arr.length - 1; arr != null && i > 0; i--) {
			if (i != 1) {
				System.out.print(arr[i] + ",");
			} else {
				System.out.print(arr[i]);
			}
		}
	}

	/**
	 * 取得数组的最大值
	 */
	public static int max(int[] arr) {
		int max = 0;
		for (int i = 0; arr != null && i < arr.length; i++) {
			if (arr[i] > arr[max]) {
				max = i;
			}
		}
		return arr[max];
	}

	/**
	 * 取得数组的最小值
	 */
	public static int min(int[] arr) {
		int min = 0;
		for (int i = 0; arr != null && i < arr.length; i++) {
			if (arr[i] < arr[min]) {
				min = i;
			}
		}
		return arr[min];
	}

	/**
	 * 判断数组中的元素在数组中第一次出现的位置
	 * @param arr 要操作的数组
	 * @param key 数组中的元素
	 * @return 元素的位置
	 */
	public static int getIndex(int[] arr, int key) {
		for (int i = 0; arr != null && i < arr.length; i++) {
			if (arr[i] == key) {
				return i;
			}
		}
		return -1;
	}

	/**
	 * 正序
	 */
	public static void sort(int[] arr) {
		for (int i = 0; arr != null && i < arr.length - 1; i++) {
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[i] > arr[j]) {
					swap(arr, i, j);
				}
			}
		}
	}

	/**
	 * 冒泡排序(逆序)
	 */
	public static void bubbleSort(int[] arr) {
		for (int i = 0; arr != null && i < arr.length; i++) {
			for (int j = 0; j < arr.length - i - 1; j++) {
				if (arr[j] < arr[j + 1]) {
					swap(arr, j, j + 1);
				}
			}
		}
	}

	/**
	 * 反转
	 */
	public static void reverse(int[] arr) {
		for (int start = 0, end = arr.length - 1; start < end; start++, end--) {
			swap(arr, start, end);
		}
	}

	/**
	 * 交换顺序
	 */
	private static void swap(int[] arr, int i, int j) {
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	}

}

 

全当复习之用。

分享到:
评论

相关推荐

    02-Java基础(数组-常见操作-遍历

    本教程“02-Java基础(数组-常见操作-遍历)”将深入讲解Java数组的概念、创建、初始化以及如何进行遍历等核心知识点。 首先,数组是存储同一类型元素的固定大小的集合。在Java中,数组的声明语法如下: ```java 数据...

    06-Java基础(数组-常见操作-排序位置置换代码提取

    数组的常见操作包括初始化、访问元素、修改元素、遍历数组以及对数组进行排序和置换。本节将深入探讨这些知识点。 一、数组的定义与初始化 在Java中,数组通过指定类型和长度来创建。例如,定义一个整型数组: ``...

    Zjj756661181#Web-#02-数组的常见操作1

    前言数组在实战开发中,使用得相当频繁。前端同学通过接口拿到json数据后,往往需要把数据进行各种形式的变换和展示。这个时候,数组的常见操作,就发挥了很大的作用。

    php数组的一些常见操作汇总

    下面将详细介绍数组操作的几个方面,包括数组求和、求数组的最大值和最小值、求数组的最大值和次大值以及找出数组中出现次数超过一半的元素。 首先,我们来看数组求和。在数组中求和的问题,虽然简单,但是通过递归...

    04-Java基础(数组-常见操作-选择排序

    数组的常见操作包括初始化、访问元素、修改元素、遍历数组以及排序。本节我们将深入探讨Java中的数组操作,并重点讲解选择排序算法。 数组在Java中的定义与初始化: 在Java中,数组可以通过以下方式声明和初始化: ...

    JavaScript中数组常见操作技巧

    ### JavaScript中数组常见操作技巧 #### 数组的创建与初始化 在JavaScript中,创建数组通常使用数组字面量 `[]`。这与使用 `new Array()` 不同,因为后者在某些情况下用于创建指定长度的数组,而数组字面量则更加...

    07-Java基础(数组-常见问题)

    在这个主题“07-Java基础(数组-常见问题)”中,我们将深入探讨数组在Java编程中的一些常见问题及其解决方案。 1. **数组的声明与初始化** 在Java中,数组的声明分为声明类型和变量名,以及指定数组长度两个步骤。...

    39-数组(常见操作-遍历).avi

    价值上万的Java精品网课教程\第04天(数组)

    js实现json数组分组合并操作示例

    在JavaScript编程中,...综上,本示例展示了JavaScript处理JSON数组的分组合并操作,涉及到的基本概念包括数组遍历、对象属性访问、哈希映射以及数组操作。了解这些知识点有助于提升在实际项目中处理JSON数据的能力。

    40-数组(常见操作-获取最值).avi

    价值上万的Java精品网课教程\第04天(数组)

    实验四 二维数组基本操作的编程实现

    【二维数组基本操作】在本实验中,二维数组被用于实现一些基本的计算任务,如求阶乘和稀疏数组的压缩。二维数组是线性代数中的基本元素,尤其在处理矩阵运算时非常常见。它是一种数据结构,用于存储具有固定大小的...

    PHP 数组的特殊操作

    在数组操作中,排序是一个常见的需求。PHP提供了多种排序函数,如`sort()`和`rsort()`对数值数组进行升序和降序排序,`asort()`和`arsort()`对关联数组按值进行排序,`ksort()`和`krsort()`则按照键进行排序。对于更...

    面试题涵盖Java数组常见操作和用法

    总的来说,理解并熟练掌握Java数组的声明、创建、初始化、访问、遍历以及相关操作,是Java编程基础的重要组成部分,也是面试中常见的考点。通过这些知识点的学习,你将能够更有效地利用数组解决实际编程问题。

    数组简单的操作.zip

    数组的常见操作包括遍历、排序、查找等。遍历数组通常用for循环实现: ```java for (int i = 0; i ; i++) { System.out.println(myArray[i]); } ``` 对于排序,Java提供`Arrays.sort()`方法,如对整型数组排序: ...

    数组的各种操作附有源代码和可执行文件

    以下是一些关于数组的详细知识点,结合了提供的标题、描述和标签: 1. **一维数组的遍历**:在C/C++、Java等编程语言中,遍历一维数组是最基本的操作之一。这涉及到通过索引来访问数组的每个元素,通常用for循环...

    JavaScript数组及常见操作方法小结

    本文实例讲述了JavaScript数组及常见操作方法。分享给大家供大家参考,具体如下: 数组及操作方法 数组就是一组数据的集合,javascript中,数组里面的数据可以是不同类型的。 定义数组的方法 //对象的实例创建 var ...

    链表 和 数组 的一些简单操作 包括排序 插入 删除

    数组的常见操作包括: 1. **插入**:在数组中插入一个元素,通常需要移动后续元素以腾出空间。如果插入位置在数组末尾,这很简单;但如果在中间或开头,效率较低,因为可能需要移动大量元素。 2. **删除**:与插入...

    易语言结构数组内存操作源码

    内存操作在高级编程中非常常见,尤其是在需要高效处理大量数据或者进行底层系统级编程时。然而,不恰当的内存操作可能会导致程序崩溃或数据丢失,因此在使用时需要谨慎。 易语言提供了丰富的内存操作函数,例如`...

    数组的一些代码

    根据给定文件的信息,我们可以提炼出以下几个重要的知识点: ### 数组的基本概念 #### 定义与声明 数组是一种数据结构,用于...掌握好数组的概念及其常见操作,能够为后续学习更复杂的算法和数据结构打下坚实的基础。

    NingArray宁数组一些实用的基于ES6的自定义数组方法

    这些方法旨在简化常见的数组处理任务,提高代码的可读性和效率。下面将详细介绍其中的一些关键功能。 1. **`forEachRight`**: 这个方法与原生的`forEach`类似,但它的迭代是从数组的末尾开始,向数组的开头方向进行...

Global site tag (gtag.js) - Google Analytics