一:数组
1)一维数组的定义:分配的内存空间连续的一组相同类型的数据
2)格式:
1.
数据类型 [] 数组名;(或者 数据类型 数组名 [] ;)(这一部分叫做声明)
数组名 = new 数据类型[数组大小] ; (这一部分叫做实例化)
(事实上两部分通常合在一起定义数组:)
数据类型 [] 数组名 = new 数据类型 [数组大小] ; (或者 数据类型 数组名 [] = new 数据类型 [数组大小] ;)
例如:int a [];(int [] a;)
a = new int [10];
或者:int [] a = new int [10];
2.
数据类型 [] 数组名 = {.....}
3.
数据类型 [] 数组名;
数组名 = {.....};
PS:1.事实上声明的时候“[]”和“数组名”可以互相调换而不报错,也不产生任何区别,这是个有趣的发现。
2.与C中数组的不同之处在于java中的数组的元素可以是自定义的类的对象。不过如果是自定义类的数组,在实例化数组之后要求对每一个数组中的元素都实例化出一个对象并赋值给数组的元素,否则如果只是(类名 [] 数组名 = new 类名[数组大小])这样的话,则数组中每个元素都为null,只是可以装进一个这种类型的对象而已。
3.java数组与C中不同,java数组实例化之后如果数据类型为整形则初始化为0,如果是字符型或自定义类的类型则为null。而C中为不可预料的随机。
3)多维数组的定义:二维数组是特殊的一维数组,即这个一维数组的每个“数”都是一个一维数组,即数组的数组。高维数组类似。
4)数组名的使用:数组名是一种特殊的指针,与C中指针的区别在于,它是经过加密的,不过用法与C中并没有什么不同,同样是传址,a[i]来取“值”。
二:队列
1)定义:由于数组使用之前必须定义好大小且无法更改大小的局限性,所以使用一种巧妙的方法来使数组的长度可以不停地无限地增加,并可以像数组一样有序,由此引申出来的新“数据类型”。
2)原理:在一个类中添加add方法,每次需要添加新的同一类型的数据时先定义一个比原数组大1的新数组,然后将原数组的内容复制到新数组里面,并将想要添加的新元素添加进新数组(任意想要添加的位置都可以,所以可以顺便带个想要添加的位置的参数),最后再将地址赋给原数组名,OK,搞定。
3)使用:队列通常用于长度可能无限延长的数据,像报名系统,绘图板的保存等等等。
相关推荐
由数组实现队列,包括队列的创建、入队和出队。通过打印显示出队的结果。正在学习数据结构的童鞋可以参考。
基于数组的LRU队列,可以动态添加与删除元素
代码有详解 易懂 功能实现较全 代码有详解 易懂 功能实现较全 代码有详解 易懂 功能实现较全
配套代码讲解:https://blog.csdn.net/songchuwang1868/article/details/90200251 ...同步队列-无锁队列-循环数组无锁队列 同步队列-无锁队列-循环数组无锁队列 同步队列-无锁队列-循环数组无锁队列
更好了解数组和队列在C++应用开发当中使用,明白C++的变量内存结构。
NULL 博文链接:https://128kj.iteye.com/blog/1665616
通过不断地修改命名规范、程序逻辑等毛病 ,终于算完成了。这算是我第一个比较认真的小程序吧!仍需努力啊。
数组循环队列
本文代码测试结果均基于node v6.9.5 数组与队列 利用数组对象方法push/shift可实现队列先进先出特性,例如: >a=[] [] >a.push(2.3.4) 3 >a.push(2) 3 >a [2.3.4.2] >a.shift() 2 >a >[3.4.2] 数组...
学习数据结构过程中,亲自在VC++上编译通过的使用数组实现队列的源代码,与大家共享。
java数组实现循环队列。包括入队, 出队,输出队列。 队列先入先出。
循环数组实现队列.doc
NULL 博文链接:https://shxin.iteye.com/blog/1948849
千锋Web前端教程_30_数组_栈方法和队列方法
普通队列 1)将尾指针往后移:rear+1,当front==rear【空】 2)若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数中组元素中,否则无法存入数据。rear==maxSize-1[队列满] 环形队列 1)front变量的...
加入Tag版的队列代码,希望能跟大家一起交流一下。
一个很简单适用的自定义编写的C#基础实现队列和反转数组,让你从最基础的C#来开始你的代码量的积累。
线性结构和非线性结构、稀疏数组、队列、链表(LinkedList) 数组和链表.pdf
哈工大软件设计代码,实现的很简单粗糙,仅供参考
数据结构知识,分别介绍了数组,栈,队列。