数据结构学习——动态数组C#实现

本文介绍了数据结构中的动态数组,包括C#中的静态数组和动态数组(ArrayList和List<T>泛型列表)。重点讲解了动态数组的容量调整、装箱与拆箱的概念,以及泛型的优势,如提高性能和保证类型安全。还涉及了一个名为Array1<E>的类,涵盖了字段、构造函数、改变数组容量、添加元素、打印、获取、修改、搜索和删除元素等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1数组

1.1静态数组 int[ ] float[ ]  double[ ]  char[ ] string[ ]

     特点:一旦创建,其容量的大小无法改变

     int[ ] arr=new int[20];

1.2动态数组:ArrayList   List<T>泛型列表

     可以根据元素的多少动态地调整数组容量的大小

1.3装箱和拆箱

装箱:值类型转换为引用类型

拆箱:引用类型转换为值类型,只有装过箱的对象才能拆箱

ArrayList a=new ArrayList( );

for(int i=0;i<1000;i++)

{

   a.add(i); //发生装箱

   int x=(int)a[i];//发生拆箱

}

1.4泛型与非泛型

泛型数组List<T>有两个优势:

第一个是对存储值类型数据,性能更优,使用泛型动态数组存取数值类型元素时不会发生装箱和拆箱

第二是使代码更清晰和保证类型安全

List<int> l=new List<int>();

ArrayList a=new ArrayList();

2.class Array1<E>
    {

一个类包含俩种成员:字段与方法。   字段即变量,方法即函数

3. 字段与构造函数

        private E[] data;//定义泛型普通静态数组
        private int N;//定义数组中元素的个数

   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值