List형과 Array형의 차이를 알아보자
배열(Array)
1. 고정된 크기를 갖는 같은 자료형의 원소들이 연속적인 형태로 구성된 자료구조.
2. 데이터 개수가 확실하게 정해져 있고, 접근이 빈번하다면 배열이 효율적이다.
3. cache hit 가능성이 커 성능에 도움이 된다.
*(cache hit : cpu가 참조하고자 하는 메모리가 캐시에 존재하고있는 경우)
리스트(List)
1. 빈틈없는 데이터 적재가능
2. 배열의 문제점을 해결하기 위한 자료구조
※참고
list의 경우 sort : list_name.Sort();
array의 경우 sort : Array.Sort(array_name);
static void Main(string[] args)
{
List<int> lst = new List<int>();
int[] arr = new int[10];
double[] arrd = new double[10];
Random r = new Random();
for (int i = 0; i < arr.Length; i++)
{
arrd[i] = r.NextDouble(); //0~1미만
arr[i] = r.Next(100);
lst.Add(arr[i]);
}
Console.WriteLine("Before Sort : ");
Print(arr);
Print(arrd);
PrintList(lst);
Console.WriteLine("After Sort : ");
lst.Sort();
Array.Sort(arr);
Array.Sort(arrd);
Print(arr);
Print(arrd);
PrintList(lst);
}
Array와 List를 각각 생성 및 랜덤 값을 넣어주고 정렬 진행.
void Print<T>(T[] a)
{
foreach (var item in a)
Console.Write(item+" ");
Console.WriteLine();
}
private static void PrintList(List<int> lst)
{
foreach (var item in lst)
Console.Write("{0:F3} ", item);
Console.WriteLine();
}
다음 함수와 같이 리스트와 배열 출력 해줌.
결과 값
※참고
list의 경우 sort : list_name.Sort();
array의 경우 Array.Sort(array_name);
'C#' 카테고리의 다른 글
040_WPF Login (0) | 2022.05.20 |
---|---|
039_PhoneBook(Access DB예제) (0) | 2022.05.20 |
037_Calculator (0) | 2022.04.27 |
035_036_ChessBoard (0) | 2022.04.13 |
034_UserControl (0) | 2022.04.13 |