Re: [問題] 如何用C#寫一個動態陣列?
看板C_Sharp (C#)作者GreatShot (我要拿Ph.D.!!!)時間18年前 (2007/03/21 07:43)推噓1(1推 0噓 0→)留言1則, 1人參與討論串4/13 (看更多)
※ 引述《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)
推
03/21 09:04, , 1F
03/21 09:04, 1F
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章