728x90

C# 52

C# 연결 리스트 만들기

namespace Algorithm { class MyLinkedListNode { public T Data; // 참조, 주소 값을 저장 public MyLinkedListNode Next; // 다음 값 public MyLinkedListNode Prev; // 이전 값 } class MyLinkedList { public MyLinkedListNode Head = null; // 첫번째 방 public MyLinkedListNode Tail = null; // 마지막 방 public int Count = 0; // 총 방의 개수 public MyLinkedListNode AddLast(T data) { MyLinkedListNode newRoom = new MyLinkedListNode(); new..

C#/코드 2021.09.14

C# 동적 배열 만들기

namespace Algorithm { class MyList { const int DEFAULT_SIZE = 1; T[] _data = new T[DEFAULT_SIZE]; public int Count; // 실제로 사용 중인 데이터 개수 public int Capacity // 예약된 데이터 개수 { get { return _data.Length; } } // O(1) 예외 케이스 : 이사 비용은 무시한다. public void Add(T item) { // 1. 공간이 충분히 남아 있는지 확인 if (Count >= Capacity) { // 공간을 다시 늘려서 확보 T[] newArray = new T[Count * 2]; for (int i = 0; i < Count; i++) { newArr..

C#/코드 2021.09.09

C# 선형 자료 구조

선형 자료 구조 -> 자료를 순차적으로 나열한 형태 배열, 연결 리스트, 스택 / 큐 배열 - 사용할 개수를 고정해서 할당 (절대 개수 변경 불가) - 연속된 배열로 배정 받아 사용 장점 : 연속된 배열 단점 : 배열을 추가 / 축소 불가 동적 배열 - 사용할 배열 개수를 유동적으로 계약 - 연속된 배열을 배정 받아 사용 문제점 : 이사 비용은 어떻게? 동적 배열 할당 정책 - 실제로 사용할 배열보다 많이, 여유분을 두고 (대략 1.5 ~ 2배) 할당 - 이사 횟수를 최소화 장점 : 유동적인 계약 (배열 추가 시 이사 횟수 초기화) 단점 : 중간 삽입 / 삭제

C#/공부 2021.09.09

C# Event

두 개의 스크립트가 있을 때 다른 스크립트의 함수를 Event를 통해 불러오는 방법 namespace CSharp { class InputManager { Event 델리게이트와 이벤트는 한정자가 같아야함 public delegate void OnInputKey(); public event OnInputKey InputKey; public void Update() { if (Console.KeyAvailable == false) { return; } ConsoleKeyInfo info = Console.ReadKey(); if (info.Key == ConsoleKey.A) { InputKey(); } } } } namespace CSharp { class Program { 연결된 Inputkey가 vo..

C#/공부 2021.09.03
728x90