PDA

View Full Version : آرایه لیستی تو در تو



sam120
سه شنبه 15 آذر 1390, 01:34 صبح
آیا میشه یه لیست که هر مولفش یه لیست باشه درست کرد؟چطوری؟
اگه میشه چطور به مولفه هاش دسترسی داشته باشم.
ممنون اگه کسی کمک کنه.

asadegha
سه شنبه 15 آذر 1390, 10:46 صبح
سلام دوست عزیز.
سوال داشتی بپرس.


//a [0] --> [0][1][2]...[9]
//a [1] --> [0][1][2][3][4]
//a [2] --> [0][1][2]...[7]
// .
// :
//a [9] -->....

int[][] a = new int[10][];
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[8];

a[0][0] = 10;
a[0][9] = 8;

a[1][4] = 5;
a[2][6] = 3;

wolf_majid
سه شنبه 15 آذر 1390, 12:11 عصر
const int row = 10, column = 10;

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

for (int i = 0; i < row; i++)
{
arrayOfArray.Add(new List<int>());
}

string str = string.Empty;

for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
arrayOfArray[i].Add((i + 1) * (j + 1));
string strLenght = "D" + (Math.Max(row, column).ToString().Length + 1);
str += (arrayOfArray[i][j]).ToString(strLenght)+" , ";
}
str += "\n";
}
label1.Text = str;

sam120
سه شنبه 15 آذر 1390, 19:22 عصر
سلام دوست عزیز.
سوال داشتی بپرس.


//a [0] --> [0][1][2]...[9]
//a [1] --> [0][1][2][3][4]
//a [2] --> [0][1][2]...[7]
// .
// :
//a [9] -->....

int[][] a = new int[10][];
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[8];

a[0][0] = 10;
a[0][9] = 8;

a[1][4] = 5;
a[2][6] = 3;



ممنون ولی منظرم Arraylist بود نه آرایه. می خوام یه لیست تعریف کنم که هر مولفش یه لیست باشه؟ اینکارم کردم ولی نمی دونم چه جوری به مولفه های داخلی دسترسه داشته باشم مثلا جستجو روشون انجام بدم.

asadegha
دوشنبه 21 آذر 1390, 03:18 صبح
دوست عزیز wolf_majid کد گذاشتن. دقیقا همونی که شما می خواین رو ایجاد میکنه.

در این خط یه لیست ایجاد میشه که هر مؤلفش به یه لیستی اشاره میکنه که هر مؤلفش از نوع int هست.
List<List<int>> arrayOfArray = new List<List<int>>();

برای دسترسی به مؤلفه ها هم:
arrayOfArray[i][j]

ایندکس i برای انتخاب مؤلفه های لیست اول هست که مؤلفه هاش خودشون لیستن. اگه i صفر باشه یعنی به لیست اول اشاره میکنی.
ایندکس j برای انتخاب مؤلفه های لیست دوم هست که مؤلفه هاش طبق تعریف از نوع int هستن. اگه j صفر باشه داری به اولین مؤلفه از لیست دوم اشاره می کنی.

توضیح بالا مربوط به سوال شما و کد آقای wolf_majid هست.

حالا من با آرایه نوشتم که درکش راحتتر باشه براتون. متوجه شدی چطوری یه آرایه ایجاد می کنی که هر مؤلفش یه آرایه ست؟ و چطور به عناصر و مؤلفه هاش دسترسی پیدا میکنی؟
حالا بجای int که نوع آرایست List بزار که نوع لیسته.