본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

WPF & C# - List<string> list = new List<string>() ( BinarySearch / 중요 / Sort / 정렬 / 이진트리검색 )

728x90
반응형


 WPF & C# - List<string> list = new List<string>() ( BinarySearch / 중요 / Sort / 정렬 / 이진트리검색 )



WpfApp7.zip





MainWindow.xaml



1
2
3
4
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top">
    <Button x:Name="btn" Height="30" Content="BinarySearch" Click="btn_Click" FontWeight="Bold"/>
    <Label x:Name="lbl"></Label>
</StackPanel>
cs




MainWindow.xaml.cs



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
string[] arr = new string[3];
arr[0= "arrA";
arr[1= "arrB";
arr[2= "arrC";
 
List<string> list = new List<string>(arr);
// == List<string> list = new List<string>(new string[] { "arrA", "arrB", "arrC" });
list.Add("ABC");
list.Add("DEF");
list.Add("GHI");
 
lbl.Content = "";
 
// BinarySearch *** 매우중요 ***
lbl.Content += "완전 일치하는 값 중 첫번째 index 값 \n";
lbl.Content += list.BinarySearch("ABC"+ "\n\n";   // 못찾는다.
 
lbl.Content += "완전 일치하는 값 중 첫번째 index 값 \n";
lbl.Content += list.BinarySearch("C"+ "\n\n";   // 예상치 못한 값이다.
 
// BinarySearch *** 매우중요 *** BinarySearch는 정렬되어 있어야만 찾을 수 있다.
list.Sort();
 
lbl.Content += "완전 일치하는 값 중 첫번째 index 값 \n";
lbl.Content += list.BinarySearch("ABC"+ "\n\n";
 
lbl.Content += "완전 일치하는 값 중 첫번째 index 값 \n";
lbl.Content += list.BinarySearch("C"+ "\n\n";   // 찾지못할경우 예상못한 값이 출력되었다. 참고하자
 
 
lbl.Content += "list<string> 전체 출력 \n";
lbl.Content += string.Join(" / ",list) + "\n\n";
 
lbl.Content += "list<string> 첫번째 값 가져오기 \n";
lbl.Content += list.First() + "\n\n";
 
lbl.Content += "list<string> 마지막 값 가져오기 \n";
lbl.Content += list.Last() + "\n\n";
 
lbl.Content += "list<string> 2번째 아이템 가져오기 \n";
lbl.Content += list.ElementAt(2+ "\n\n";
 
lbl.Content += "완전 일치하는 값 중 첫번째 index 값 (BinarySearch 보다 느리다고 한다.)\n";
lbl.Content += list.IndexOf("ABC"+ "\n\n";
 
lbl.Content += "완전 일치하는 값 중 마지막 index 값 \n";
lbl.Content += list.LastIndexOf("GHI"+ "\n\n";
cs


List<string> list = new List<string>()


List<string> list = new List<string>() 의 사용법을 적어봤다.

이중에 BinarySearch 부분이 너무도 중요하다.

이진트리검색이라고 하는데... 예상한 값이 잘 나오지 않는다.

BinarySearch 를 사용하기전 반드시 list를 정렬해 주어야한다.




728x90
반응형