作者rahim (forget it)
看板C_Sharp
标题Re: [问题] 如何用C#写一个动态阵列?
时间Wed Mar 21 13:11:23 2007
※ 引述《GreatShot (我要拿Ph.D.!!!)》之铭言:
: ※ 引述《rahim (forget it)》之铭言:
: : 那在存值进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() );
这行的意思是说 FirstD前50个元素(0~49)
都指向一个ArrayList吗?(如同一开始的FirstD指向一个ArrayList一样?)
: }
: 这样就是一个用ArrayList组成的二维动态阵列了
那在使用的时候
如果我想取用第(i,j)个元素
可以直接FirstD[i][j]这样来用吗?
个人想法:
FirstD[i]跟之前FirstD的角色一样,都是指向一个ArrayList的东西
然後把FirstD[i]看成是上面的FirstD一样
所以可以直接写FirstD[i][j]
~~~~~~~~ ~~~
=FirstD =[i] 如同一维的FirstD[i] 这样对吗?
另外是一个输入的问题 小弟刚学C# 一直不懂 请大大帮我解答一下
输出:cout<< 大概等於 console.writeline("......{0}",XXX)
输入:cin>>n 在C#好像是用console.readline()或console.read()
不过要怎麽样才能做到把使用者输入的东西存到n上面呢?
: 你高兴的话
: 你还可以用他来作tree
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.144.40