作者GreatShot (我要拿Ph.D.!!!)
看板C_Sharp
标题Re: [问题] 如何用C#写一个动态阵列?
时间Wed Mar 21 07:43:55 2007
※ 引述《rahim (forget it)》之铭言:
: ※ 引述《Eric30 (eric)》之铭言:
: : ArrayList可以查查MSDN,有很多资料。 :)
: : ArrayList可以用来装任意物件 & 值
: : 举例来说 假设你想加入三个int :
: : int integer1 = 1;
: : int integer2 = 2;
: : int integer3 = 3;
: : ArrayList arr = new ArrayList();
: : arr.Add(integer1);
: : arr.Add(integer2);
: : arr.Add(integer3);
: 那在存值进arr中的时候,可以不用add()吗?
: 例如我用arr[0]=integer1;
: arr[1]=integer2;
: arr[2]=integer3;
当然可以
不过你要先确定你的arr.length是多少
arr[i]的i超过arr.length的话会有error
基本上
arraylist是会自己长大的一种资料结构
你在add的过程要是超过了原本的长度
他就会自己"延伸"额外的长度出来
: 这样可以吗?
: 还有 ArrayList在本质上是一个类别吗?
单栏~~
不然宣告的时候那个 new 是写辛酸的吗 XD
: 先谢谢你的意见喔
: 不过我看了一下MSDN
: 关於ArrayList 是不是只能做到一维动态阵列呢?
: 如果我今天想要一个二维阵列
: 那用ArrayList有没有办法做到呢?
: 或是在C#中有没有其他的东西能做到二维动态阵列的功能呢?
当然有办法罗
这种linked list的变形是很基本的资料结构
用C#来implement这些资料结构或是演算法是相当轻松的事情(挺)
ArrayList FirstD = new ArrayList();
ArrayList SecondD;
for(int i = 0 ; i < 50 ; i ++)
{
FirstD.Add( new ArrayList() );
}
这样就是一个用ArrayList组成的二维动态阵列了
你高兴的话
你还可以用他来作tree
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.110.47
※ 编辑: GreatShot 来自: 220.133.110.47 (03/21 07:49)
1F:推 horngsh:用泛型来作也可以, List<MyClass> myList; 03/21 09:04