`
_jia_shun
  • 浏览: 27273 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

_5_4_数组的基本操作

 
阅读更多
package _5_4_数组的基本操作;

public class _5_4_Example_1 {
	
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		//遍历一维数组
		System.out.println("遍历一维数组:");
		int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
		for(int i=0;i<month.length;i++){
			System.out.println("第"+(i+1)+"月有"+month[i]+"天");
		}
		
		//遍历二维数组
		System.out.println("遍历二维数组:");
		int array[][]=new int[][]{{1,8,9},{4,3,5,6},{9,8}};
		for(int i=0;i<array.length;i++){
			for(int j=0;j<array[i].length;j++)
				System.out.print(array[i][j]+"\t");
			System.out.println();
		}
		//使用foreach语句遍历数组
		for(int[] arr : array){
			for(int x : arr)
				System.out.print(x+"\t");
			System.out.println();
		}
	}

}

 

package _5_4_数组的基本操作;

import java.util.Arrays;

//填充替换数组元素

public class _5_4_Example_2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		//fill(int []a,int value)将指定int型元素分配给int型数组的每个元素
		int a[]=new int[6];
		System.out.println("未赋值的数组:");
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
		Arrays.fill(a, 8);
		System.out.println("\n修改后的数组:");
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
		
		//包括起点不包括终点的替换
		//fill(int []a,int fromIndex,int toIndex,val)
		Arrays.fill(a, 1, 4, 15);
		System.out.println("\n修改后的数组:");
		for(int i=0;i<a.length;i++)
			System.out.print(a[i]+" ");
		
		//对数组进行排序
		int arr[]={34,4,13,76,6,9,790,89};
		System.out.println("\n\n原数组:");
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		Arrays.sort(arr);//升序排序
		System.out.println("\n排序后的数组:");
		for(int i=0;i<arr.length;i++)
			System.out.print(arr[i]+" ");
		
		//复制数组
		//copyOf()复制数组至指定长度
		//copyOfRange()将指定数组制定长度复制到一个新的数组中
		int array_1[]={3,6,9,23,45,78};
		System.out.println("\n\n原数组:");
		for(int i=0;i<array_1.length;i++)
			System.out.print(array_1[i]+" ");
		int[] newArray_1=Arrays.copyOf(array_1, 8);
		System.out.println("\n调用copyOf(),新数组:");
		for(int i=0;i<newArray_1.length;i++)
			System.out.print(newArray_1[i]+" ");
		int[] newArray_2=Arrays.copyOfRange(array_1, 1, 7);
		System.out.println("\n调用copyOfRange(),新数组:");
		for(int i=0;i<newArray_2.length;i++)
			System.out.print(newArray_2[i]+" ");
	}

}

 

package _5_4_数组的基本操作;

public class _5_4_Example_3 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		//对比一维二维数组所占内存
		//一维数组占用内存
		int num1=1024*1024*2;//数组元素个数
		int array1 []=new int[num1];//定义int型数组
		for(int i=0;i<array1.length;i++)//赋值
			array1[i]=i;
		//获得占用内存数,并将其转化为MB
		long memory1=Runtime.getRuntime().totalMemory()/1024/1024;
		System.out.println("一维数组占用内存:"+memory1);
		//二维数组占用内存
		int num2=1024*1024;//数组元素个数
		int array2 [][]=new int[num2][2];//定义int型数组
		for(int i=0;i<array2.length;i++)//赋值
		{
			array2[i][0]=i;
			array2[i][1]=i;
		}	
		//获得占用内存数,并将其转化为MB
		long memory2=Runtime.getRuntime().totalMemory()/1024/1024;
		System.out.println("二维数组占用内存:"+memory2);
	}

}

 

package _5_4_数组的基本操作;

//使用直接插入法排序

public class _5_4_Example_4 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int number=10;
		int intArray []=new int[number];
		System.out.println("排序前:");
		for(int i=0;i<intArray.length;i++)
		{	
			intArray[i]=intArray.length-i;
			System.out.print(intArray[i]+" ");
		}
		//插入排序算法:每次插入的数前面的数都是排好序的
		for(int i=1;i<intArray.length;i++)
		{
			int j=i-1;
			int index=intArray[i];//记录index一便宜之后的交换
			while(j>=0&&intArray[j]>intArray[j+1])
			{
				//每当找到比这个数大的数的时候就交换,
				//直到之前的数没有比这个数大的
				intArray[j+1]=intArray[j];//
				intArray[j]=index;
				j--;
			}
		}
		System.out.println("\n排序后:");
		for(int i=0;i<intArray.length;i++)
			System.out.print(intArray[i]+" ");
	}

}

 

package _5_4_数组的基本操作;

//使用冒泡排序法排序

public class _5_4_Exercise_1 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int number=10;
		int array[]=new int[number];
		System.out.println("冒泡排序前数组为:");
		for(int i=0;i<array.length;i++){
			array[i]=array.length-i;
			System.out.print(array[i]+" ");
		}
		System.out.println();
		//冒泡排序:较小元素向前排,较大元素向后排
		//for(int i=0;i<array.length-1;i++)
		//上面注释中写的也可以,因为最后一趟就一个元素,不需比较,只用九趟就行
		for(int i=0;i<array.length;i++){//每一趟循环都找出较小的向前排
			for(int j=array.length-1;j>0;j--){
				if(array[j]<array[j-1]){//把较小元素循环向前排
					int temp=array[j];
					array[j]=array[j-1];
					array[j-1]=temp;
				}
			}
			System.out.println("第"+(i+1)+"趟循环得到:");
			for(int k=0;k<array.length;k++)
				System.out.print(array[k]+" ");
			System.out.println();
		}
	}

}

 

package _5_4_数组的基本操作;

//输出九宫格:数字1-9组成3*3矩阵,使得行列对角线三个数之和等于15
//采用循环求解
//九宫格分为中,上,下,左,右,左上,右上,左下,右下
public class _5_4_Exercise_2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int arr[][]=new int[3][3];
		int a=2;//第三行的行下标
		int b=3/2;//第二列的列下标
		for(int i=1;i<=9;i++){
			arr[a++][b++]=i;
			if(i%3==0){//如果i是3的倍数
				a=a-2;
				b=b-1;
			}else{//如果i不是3的倍数
				a=a%3;
				b=b%3;
			}
		}
		System.out.println("输出九宫格:");
		for(int i=0;i<3;i++){
			for(int j=0;j<3;j++)
				System.out.print(arr[i][j]+" ");
			System.out.println();
		}
	}
	
}

 

分享到:
评论

相关推荐

    数组_本地留言板_H5数组例题_数组练习_

    首先,我们来看数组的基本概念。数组是编程语言中的一种数据结构,它由固定数量的同类型元素组成。这些元素在内存中是连续存储的,可以通过一个整数索引来访问每个元素。例如,在JavaScript中,你可以创建一个数组...

    labview-sum.rar_SUM_数组_数组labview_数组循环

    总的来说,"labview sum.vi"这个例子是一个很好的学习资源,它教你如何在LabVIEW中处理数组,并利用循环进行基本的数学运算。通过理解和实践这个示例,你可以进一步掌握LabVIEW的数组操作和控制流程,这对于开发更...

    vc++的一位数组范例_vc++6.0_adulte4l_vc++6.0数组7.1_范例_一维数组_

    在这个范例中,文件`exa6-案例.c`可能包含了如何声明、初始化和操作一维数组的基本示例。文件`exa6-8.c`至`exa6-12.c`可能进一步展示了数组的高级用法,如动态分配内存、遍历数组、计算数组元素之和等。 在VC++ 6.0...

    zhizhenshuzu.rar_C++数组_array_数组_数组c++

    本资源“zhizhenshuzu.rar”显然关注的是C++中的数组和指针数组的概念,这对于理解和操作内存以及高效编程至关重要。 首先,我们要理解数组的基本概念。数组是一个在内存中连续存储的同类型元素的集合。通过一个...

    数组的基本操作

    java数组的基本操作 查找最大元素 选择排序 优化选择排序 冒泡排序 交换数组元素

    digui.rar_emu8086_emu8086数组求和_数组emu8086

    array db 5 dup(1, 2, 3, 4, 5) ; 定义一个包含5个整数的数组 section .bss sum resw 1 ; 声明一个用于存储总和的变量 section .text global _start _start: mov ax, 0 ; 初始化累加器AX为0,用于存储总和 ...

    LabVIEW元素与数组大量vi实例.zip_LabVIEW 数组_labview元素组合_labview数组例子_数组vi_程

    通过学习和实践压缩包中的“LabVIEW元素与数组大量vi实例”,用户不仅可以熟悉LabVIEW的基本操作,还能掌握如何利用数组来高效处理数据,提高编程能力。每一个VI实例都是一个独立的案例,涵盖了不同的数组操作和元素...

    labview数组反转.zip_labview 波形_labview、数组_labview波形反转

    总结来说,这个任务涉及到LabVIEW中的基本数据结构操作,以及波形数据的处理。通过理解数组反转的概念,我们可以对各种类型的数组数据进行操作,这对于数据分析、信号处理或任何涉及序列数据的项目都至关重要。同时...

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

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

    数组与特殊矩阵基本操作及练习

    一、数组的基本操作 1. 初始化:创建数组时,可以预先指定大小并赋初值,或者只定义大小,在后续操作中填充元素。 2. 访问:通过索引访问数组元素,索引从0开始,例如`arr[i]`表示访问数组的第i个元素。 3. 插入与...

    读取二维数组所有数据_labview_读取二维数组_

    4. 数据处理:读取数组数据后,你可以进行各种计算、比较或转换操作。LabVIEW提供了丰富的数学和逻辑函数库,方便对数组进行处理。 三、LabVIEW中的数据流模型 LabVIEW采用数据流编程模型,这意味着程序的执行顺序...

    C_example5.rar_数组 练习题

    通过解决各种练习题,初学者可以巩固数组的基本概念,提升对数组操作的理解,如查找、排序、遍历等。本练习集提供的题目将涵盖这些方面,有助于提高编程技能。 总之,理解和熟练运用数组是掌握C语言的关键步骤。...

    java_jni.rar_javbi.vcom_jni 数组

    4. **处理多维数组**:JNI也支持多维数组,如二维数组。对于多维数组,需要分别处理每个维度的数组,通常需要嵌套调用JNI数组操作函数。 5. **类型映射**:在JNI中,Java的类型需要映射为对应的本地类型。例如,...

    arr.zip_数组的倒序输出_数组相乘

    在编程领域,数组是基本的数据结构之一,广泛用于存储和处理有序数据。在这个"arr.zip_数组的倒序输出_数组相乘"的压缩包中,我们有两个关键的知识点:数组的倒序输出和数组之间的相乘操作。下面将详细阐述这两个...

    Array-Demo.rar_DEMO_demoArray_vb2010_数组

    首先,让我们深入了解一下数组的基本概念。数组是一系列相同类型变量的集合,这些变量在内存中是连续存储的,并且可以通过索引来访问。在VB2010中,有多种类型的数组:一维数组、二维数组、多维数组以及 Jagged 数组...

    04_Java基础语法_(数组)_讲义

    2. 初始化:创建数组时可以同时赋值,如int[] arr = {1, 2, 3, 4, 5};或者先声明再逐个赋值,如int[] arr = new int[5]; arr[0] = 1; arr[1] = 2;... 三、多维数组 Java支持多维数组,即数组的数组。常见的有二维...

    rising-edge-output.rar_labview数组_二维数组

    4. **处理上升沿**:根据应用需求,你可以对检测到的上升沿进行响应,比如触发其他操作、记录时间戳或者生成脉冲信号。 5. **可视化反馈**:通过图表或指示器显示结果,以便于调试和理解。 这个实验不仅教授了二维...

    Hebing.zip_数组操作_文件操作

    int numbers[5] = {1, 2, 3, 4, 5}; ``` 在这个例子中,`numbers`数组包含了五个整数。数组操作包括初始化、读取、修改和遍历元素。在描述中提到的“将存放在两个文本里的数组进行合并”,可能是指从两个文件中读取...

    数组_matlab数组_

    本资料包着重介绍了MATLAB中的数组计算,包括数组的创建、基本操作、数组函数以及一些实际案例,旨在帮助学习者更好地理解和应用数组。 一、数组的创建 在MATLAB中,我们可以直接通过一系列数值来创建数组。例如,`...

    C_Array Array数组

    数组是C#编程中基本的数据结构,用于存储同一类型的数据集合。数组的概念基于其元素的类型和固定的容量,它允许程序员以统一的方式管理和操作一组数据。数组的声明通常包括元素类型和数组变量名,如`string[] Mystr;...

Global site tag (gtag.js) - Google Analytics