`
purple12
  • 浏览: 6910 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

数组及动态数组

 
阅读更多

数组与动态数组

数组是具有相同数据类型的一组数据的集合。有一维数组和二维数组。

其特点是:线性结构,内存地址连续,长度固定,具有下标的一类数据结构。

在创建时首先确定元素的数据类型和数组名,在利用new关键字来分配内存空间。

如:int [ ] mouth =new int [12];

这样就为mouth这个int类型的数组分配了12个元素的内存空间。

但是在创建数组时,往往数据是不固定的,我们可能会经常性的添加数据,插入数据,删除数据,这样数组的结构特点就有了一定的局限性。因此一维数组在存储一些简单而少量且固定的数据。为了实现数组的更多的功能我们引入了动态数组。

动态数组顾名思义在继承了数组线性结构,内存地址连续后,其长度是不固定的,可以根据数据个数需要随意增减存储空间。

在动态数组中基本实现了所有数据结构中的操作:

放数据,取数据,移除数据,插入数据,删除数据,修改数据。

//数组的添加功能

public class Array {

         private int[] src =new int[0];
           //数组的添加功能
           public void add(int t){
           int [] dest=new int[src.length+1];
           dest[dest.length-1]=t;
           for (int i=0;i<src.length ;i++){
           dest[i]=src[i];
      }
      src =dest;

 //数据的获取功能

 public int get(int index){
      return src[index];
  }

//数据的插入功能

public void insert(int t,int index){
        int [] inst =new int[src.length+1];
        inst[index]= t;
        for (int i=0;i<src.length+1;i++){
        if(i<index){
                inst[i]=src[i];
          }else if(i>index){
           inst[i+1]=src[i];
           }   
        }
               inst=src;
 }

//数据的删除功能

  public void dele(int index){
          int [] dsrc =new int[src.length-1];
            dsrc[index]=src[index+1];
                for(int i=0;i<src.length-1;i++){
                   if(i<index){
                      dsrc[i]=src[i];
                       }else if(i>index){
                             dsrc[i-1]=src[i];
                      }
             }
                         dsrc=src

  }

//数据的替代功能

public void replace(int t,int index){
             src[index]=t;
 }

 

 

 

分享到:
评论
Global site tag (gtag.js) - Google Analytics