首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

数据结构之链表与数组(1)—数组实现队列

2013-08-04 
数据结构之链表与数组(一)—数组实现队列public void add(Object obj) {// 实例化一个新数组对象,其长度比

数据结构之链表与数组(一)—数组实现队列
public void add(Object obj) {// 实例化一个新数组对象,其长度比原数组大一Object[] arr2 = new Object[arr.length+1];//将原来的数组复制到新的数组for(int i=0;i<arr.length;i++){arr2[i] = arr[i];}//在arr2数组的最后添加objarr2[arr.length-1] = obj;//覆盖原数组arr = arr2;}

?

?

?

2、从队列中取指定位置的数据;

public Object get(int index) {// TODO Auto-generated method stub//判断index是否超出队列if( index < 0 || index >arr.length-1){//提示错误System.out.println("index= "+index+" 超出队列范围");}//返回该数据else{return arr[index-1];}}

?

?

?

3、删除队列中指定位置的数据,并且返回被指定删除的数据;

public Object remove(int index) {// TODO Auto-generated method stub//判断index是否超出队列if( index < 0 || index >arr.length-1){//提示错误System.out.println("index= "+index+" 超出队列范围");}else{//新建一个数组Object[] arr2 = new Object[arr.length-1];                 //将该数据保存Object a = arr[index-1];//把要删除的数据之前的数据复制到新数组for(int i = 0 ; i < index; i++){arr2[i] = arr[i];}//将之后的数据复制到新数组for(int i = index-1;i < arr2.length;i++){arr2[i] = arr[i+1];}//覆盖原数组arr = arr2;//返回被删除的数据return a;}}

?

?

?

4、插入数据到队列中的某个位置;

?

//将数据obj插入到队列的index位置public void inser(int index, Object obj) {// TODO Auto-generated method stub//判断index是否超出队列if( index < 0 || index >arr.length-1){System.out.println("index= "+index+" 超出队列范围");}else{Object[] arr2 = new Object[arr.length+1];//复制index位置前的数据for(int i = 0 ; i < index-2;i++){arr2[i] = arr[i];}//复制index位置后的数据for(int i = index; i < arr.length;i++){arr2[i] = arr[i];}//插入新数据arr2[index-1] = obj;//覆盖原数组arr = arr2;}}

?

5、返回原队列中数据的长度;

public int size() {// TODO Auto-generated method stubreturn arr.length;}

?

?????? 以上为自己定义的数组实现队列,此外,我们仍可以使用Java中已定义好的ArrayList类来对队列数据进行操作,此处不详细介绍。

热点排行