Home Full Site
자료구조 : 배열 (Array)

배열은 연속적인 메모리상에 동일한 타입(혹은 그의 파생타입)의 요소를 일렬로 저장하는 자료 구조로서 배열 요소는 인덱스를 사용하여 직접적으로 엑세스할 수 있다. 배열은 고정된 크기를 가지며, 배열의 사이즈와 상관없이 한 요소를 엑세스하는 시간은 인덱스를 사용할 경우 O(1)이 된다. 하지만 인덱스를 알지 못하고 소트되지 않은 배열에서 값으로 데이타를 찾기 위해서는 O(n)의 시간이 소요된다. 소트된 배열에서 값을 찾는 경우는 Binary Search를 이용할 수 있으므로 O(log N)의 시간이 소요된다.

int[] scores = new int[100];
scores[0] = 90;
int val = scores[0];



C# 배열의 사용

모든 C# 배열은 내부적으로 .NET Framework의 System.Array에서 파생된 것으로 상속에 의해 System.Array의 메소드, 프로퍼티를 사용할 수 있다. 다음은 100이하의 10개의 랜덤 숫자를 배열에 넣고 그 배열 요소들의 합을 구하는 예제이다.

예제

int sum = 0;
int[] nums = new int[10];

Random rand = new Random();
for (int i = 0; i < nums.Length; i++)
{
    nums[i] = rand.Next() % 100;  
}

for (int i = 0; i < nums.Length; i++)
{
    sum += nums[i];
}
Console.WriteLine(sum);        



© csharpstudy.com