.数组
1.数组是什么类型的存储结构
数组也是属于应用类型的一种。
数组是一种线性的存储结构。
//链式结构
2.实例化一维数组的格式
一种:数据类型 [] 数组名 = new 数据类型[数组的长度];
二种: 数据类型 [] 数组名 = {值列表};
三种:数据类型 [] 数组名;
数组名 = new 数据类型[数组的长度];
四种:数据类型 [] 数组名 = new 数据类型[]{值列表};
数据类型 [] 数组名;
数组名 = new 数据类型[]{值列表};
3.对一维数组的操作,通过什么?
得到数组的长度:数组.length属性名;
数组的下标是用来获取相应位置的值。
数组名[下标];
数组的下标从0开始的。
4.实例化二维数组的格式
一种:数据类型 [][] 数组名 = new 数据类型[行数][列数];
二种: 数据类型 [][] 数组名 = {{值列表},......};
三种:数据类型 [][] 数组名;
数组名 = new 数据类型[行数][列数];
四种:数据类型 [][] 数组名 = new 数据类型[][]{{值列表},......};
数据类型 [][] 数组名;
数组名 = new 数据类型[][]{{值列表},......};
对二维数组的操作,通过什么?
得到二维数组的行数:数组.length属性名;
得到二维数组的列数:数组[下标].length属性名;
是否可以创建不规则的二维数组?
可以创建不规则的二维数组,用第二种格式。
数组的下标是用来获取相应位置的值。
数组名[行下标][列下标];
数组的下标从0开始的。
5.随机数类的使用
java.util.Random的一个类
数组的缺点?
1.数组的长度是固定。
2.数组只能存储同样的数据类型。
数组的优点?
运行速度快-->有序的,查找的速度快,直接通过下标来找相应的数据。
队列
1.为什么要使用队列
数组不能随意的添加或者删除空间。
2.如何实现队列
借助于数组和引用传递。
自定义队列就是用类来操作数组,将所有的操作用类封装起来,在类外是无法看到具体的操作
实现通用的队列
//自定义泛型队列的接口
public interface NetJavaList<E> {
//向队列中加一个对象
public void add(E e);
//向队列中指定位置插入一个对象
public void insert(E e, int index);
//取得的队列中指定位置的对象
public E get(int index);
//删除某位置对象
public E delete(int index);
//得到队列中的长度,及队列中元素的个数
public int size();
}
//实现的泛型队列
public class STList<E> implements NetJavaList<E>{
private Object[] srcA = new Object[0];
//向队列中加一个对象
public void add(E e){
Object[] destA = new Object[srcA.length+1];
destA[srcA.length]=e;
System.arraycopy(srcA, 0, destA, 0, srcA.length);
srcA=destA;
}
//向队列中指定位置插入一个对象
public void insert(E e, int index){
Object[] destA = new Object[srcA.length+1];
System.arraycopy(srcA, 0, destA, 0, srcA.length);
for(int i=index+1;i<destA.length;i++){
destA[i+1]=destA[i];
}
destA[index]=e;
srcA=destA;
}
//取得的队列中指定位置的对
public E get(int index){
E st = (E)srcA[index];
return st;
}
//删除某位置对象
public E delete(int index){
for(int i=index;i<srcA.length;i++){
srcA[i]=srcA[i+1];
}
}
//得到队列中的长度,及队列中元素的个数
public int size(){
return srcA.length;
}
}
找出二维数组中最大的一个数值
public class Twoarray {
public static void main(String[] args){
//定义一个二维数组
int[][] srcA = creat();
int t = cacular(srcA);
System.out.println("二维数组的最大值是:"+t);
//给数组中的每个元素赋值
public static int[][] creat(){
int ta[][] = new int[5][8];
for(int i=0;i<ta.length;i++){
for(int j=0;j<ta[i].length;j++){
java.util.Random ran = new java.util.Random();
int value =ran.nextInt(300)+200;
ta[i][j]=value;
}
}
return ta;
}
public static int cacular(int[][] x){
int max=x[0][0];
for(int i=0;i<ta.length;i++){
for(int j=0;j<x[i].length;j++){
if(max<x[i][j]){
max=x[i][j];
}
}
}
return max;
}
}
}
分享到:
相关推荐
栈、队列和数组.ppt
数据结构导论 栈、队列和数组 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端(表尾)进行。
考研必备 数据结构 第二章 栈队列和数组 请使用IE浏览器观看! 欢迎下载!
数据结构考研讲义 第三章 栈、队列和数组.pdf
数据结构练习题-第三章-栈、队列和数组-习题及答案.doc
数据结构与算法PPT课件
二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 三、树与二叉树 (一)树的概念 (二)二叉树 1.二叉树...
889计算机技术专业基础综合 考试内容: ...二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 三
计算机科学与技术专业基础综合813计算机科学与技术专业基础综合 数据结构(120分) 考查内容: ...二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构
资源名称:2013年新东方计算机考研数据结构强化班(共6讲)资源目录 :【】强化理解部分第1章线性表.zip【】强化理解部分第2章栈、队列和数组.zip【】强化理解部分第3章树和二叉树.zip【】强化理解部分第4章图.zip...
三、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 四、树与二叉树栈 (一)树的概念 (二)二叉树 1.二叉树的定义及其...
java双端队列的实现-Java实现自定义双端队列(链表和数组两种方式) 数组和链表.pdf
分享一套python版的数据结构算法的视频教程——《零基础征服数据结构算法Python版》,2023年4月完结新课,提供配套的代码和课件...第3章 栈、队列和数组 第4章 字符串 第5章 树与二叉树 第6章 图 第7章 查找 第8章 排序
该文章主要是用于初学c++/c对于栈,队列和数组的认识,有一定的算法基础会更好的理解此篇文章。
详细讲解了:树和二叉树、串和数组、堆和队列、线性表和链表等内容
2010年计算机考研大纲 Ⅰ考查目标 计算机学科专业基础综合考试涵盖数据机构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。要求考生比较系统地掌握上述...二、栈、队列和数组 (一)栈和队列的基本概念
打开方式:Freemind、幕布等思维导图软件 “数据结构”是计算机、...资源中包含数据结构绪论,线性表,栈、队列和数组,串,树与二叉树,即王道书前五章内容,均为本人考研过程中自己整理总结。后续内容会逐步更新。
数据结构进行飞机票购买的系统。使用队列和数组实现
二、栈、队列和数组 (一)栈和队列的基本概念 (二)栈和队列的顺序存储结构 (三)栈和队列的链式存储结构 (四)栈和队列的应用 (五)特殊矩阵的压缩存储 三、树与二叉树 (一)树的概念 (二)二叉树 1.二叉树...
数据结构,队列的实现,包括链式和数组式 别的不多说,自己看吧,上传也挺麻烦