数组总结
1.数组是什么?
数组是一个能存放多个相同类型数据且长度固定的容器,是java最基本的数据结构。
2.数组的定义方法
有三种,常用的就两种:
1.数据类型 [ ]数组名=new 数据类型[长度];
如:int [ ]array=new int[10];
2.数据类型 [ ]数组名={数据1,数据2,...};
如:int [ ]array={1,3,4,2,5};
第三种不常用,定义方式如下:
数据类型 [ ]数组名=new 数据类型[ ]{数据1,数据2,...};
如:int [ ]array=new int[ ]{1,3,4,2,5};
当数组定义时只给定了长度,数组中每个位置都会有一个默认值,当数据类型为基本数据类型时,
数组元素都为0,当为自定义类类型时,数组元素都为null;
3.对数组的排序
数组的排序主要可以分为四种方法:冒泡,选择,插入,希尔。
代码如下:
冒泡排序:
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
选择排序:
for (int i = 0; i < array.length; i++) {
int minIndex=i;
for(int j=i+1;j<array.length;j++){
if(array[j]<array[minIndex]){
minIndex=j;
}
}
int temp=array[i];
array[i]=array[minIndex];
array[minIndex]=temp;
}
插入排序:
for (int i = 0; i < array.length; i++) {
for(int j=i;j>0;j--){
if(array[j]<array[j-1]){
int temp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
希尔排序:
for (int increment = array.length / 2; increment > 0; increment /= 2) {
for (int i = increment; i < array.length; i++) {
int temp = array[i];
int j = 0;
for (j = i; j >= increment; j -= increment) {
if (temp < array[j - increment]) {
array[j] = array[j - increment];
} else {
break;
}
}
array[j] = temp;
}
}
4.数组的优缺点
优点:1.可以将相同的数据类型的数据储存起来
2.访问速度快,可以通过下标直接访问
3.有时可以简化代码,提高效率
缺点:1.数组长度固定,对于存放不确定个数的数据时使用不便
2.只能存放一种数据类型
分享到:
相关推荐
哈希、动态数组总结
java数组总结共9页.pdf.zip
java数组总结文档
数组总结(概念、定义、默认值、可变长参数、值传递与引用传递等)。1.冒泡排序: 两两相比(两个相邻的数进行比较) 条件成立 互换位置 外层循环控制比较的轮数 **轮数永远是 长度 -1 (n - 1)** 内层循环...
第五单元数组的总结。第五单元包括十个单元,分别是一维数组的定义、一维数组的输入与输出、一维数组的插入删除、一维数组的查找统计、一维数组的元素排序、一维数组的应用举例、二维数组的定义与操作、二维数组的...
一维数组的创建以及常用方法数组类型的介绍与总结,适合初学者,预习自学
数组
二维数组所有考点总结 2010-10-21 所有用到的的数组是:a[3][3]={{23,46,11},{99,45,82},{72,90,21}}; 一:遍历打印输出二维数组的元素 #include void main(){ int a[3][3]={{23,46,11},{99,45,82},{72,90...
数组是c语言程序应用过程中必不可少的工具,本文档深入浅出的教诲读者数组的使用方法、、
LeetCode - 307. Range Sum Query - Mutable例题:题目:树状数组代码:// 树状数组中求和的数组//真实存放数据的数组pr
主要介绍了学习PHP的数组总结【经验】,需要的朋友可以参考下
php下经常用到的数组函数
指针数组与数组指针总结更新
主要总结了C语言数组的学习,过程详细,很好的指导资料。
自己数组学习的笔记,把数组总结了一下,希望对入门学C++的同学有一定的作用,大神就不必看了,刚刚开始学
C语言数组排序总结
指针数组与数组指针的总结整理