赞
踩
计算机储存和组织数据的一种方式, 根据存储的方式不同,操作特性也就不同
合理选择数据结构能够有效的提升存储效率和运行效率.
数据操作:
增删改查
常见的数据结构:
数组,链表,散列表,红黑树,B+树,二叉树等
数组是引用数据类型,是一种非常常见的数据结构
数组能连续存储多个数据,但是统一数组中数据类型要一样。之前的变量只能存储一个数据。
数组是引用型数据类型,是一种常见的数据类型
数组在空间中是连续存储的,并且有独一无二的下标,下标是从0开始的,
数组长度一旦确定不能更改,想要添加和删除数据只能重新创建新的数据,再把之前的数据 复制存放进去。
数组有指定下标,通过内存地址偏移可以快速定位到我们想要操作的数据,所以数组的查询 效率极高。
数组特点:添加删除慢 ,查询更改块。
链表:添加删除快,查询慢。
数组声明:
静态声明:在已知数组中每个元素的情况下,使用静态声明。
语法结构:数据类型[] 变量名={值1,值2,值3...,}
数据类型 变量名[] ={值1,值2,值3...,}
eg:int[] a={1,2,3} 一维数组,保存的是数值
int[][] a={{1,2,3},{1,2,3},{1,2,3}}二维数组,保存的是一 维数组的引用(地址)
数组可以多维,但是每一维的类型必须一致。
动态声明:在不知道数组中的每个元素的情况下,使用动态声明,需要制定数组长 度,然后用默认值占位,默认的值都是0.
语法结构:数据类型[] 变量名=new 数据类型[长度];
eg:Int[] a=new int[3];
int [][] a=new int[3][5]; 二维数组中有三个一维数组,每个一维数组中有5个数据,默认值都是0
eg:{
{0,0,0,0,0}
{0,0,0,0,0}
{0,0,0,0,0}
}
默认值:
整数 :0; 小数:0.0; 字符:/u0000; 布尔型: false, 引用型 :null
1.下标越界
运行结果:
2. 控制正异常
运行结果:
数组参数传递方法有两种:1.传递参数 2.传递字面量
传值和传引用
传值:传递基本类型
传引用:传递引用类型
数组复制
系统自带的方法System.arraycopy(src, srcPos, dest, destPos, length);
src:源数组; srcPos:源数组起始位置(包含); dest:目标数组; destPos:目标数组起始位置(包含);
length:替换的元素个数
eg:System.arraycopy(src, 3, dest, 3, 3);
运行结果:
用到Scanner类
常用三种方法:1. 中间变量法 2.位移运算交换 3.加减运算
Int x=2;
Int y=3;
1. 中间变量法:
2.位移运算交换
3.加减运算
冒泡排序:
1 比较相邻的两个元素,如果第一个比第二个大,就交换位置
2 对每一对相邻元素做同样的工作,比较完一轮之后,最后一个一定是最大的哪个
3 在对以上元素重复该步骤,除了最后一个
4 一直到没有一对元素需要比较,终止
嵌套循环,外层循环决定循环了多少轮 , 内层循环决定每轮比较的次数
选择排序:
1 每次都把最小的放到左边
先拿出第一个,假设是最小的,然后挨个和后面所有的进行比较,如果有比他小的,就 保存对应下标
2 比较完之后,就保存了最小的下标,然后判断是否和第一个相同,不同就换位
API排序:系统提供的排序方法,底层实现是冒泡排序,实现升序排序
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。