数组及动态数组

数组与动态数组

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

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

在创建时首先确定元素的数据类型和数组名,在利用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;
 }

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值