-
03/29 동적 배열 구현 연습자료구조/수업내용 2021. 3. 29. 16:27
Add메서드 호출시, DynamicArray클래스의 int배열을 임시로 보관할 tmp배열을 int배열+1의 길이로 초기화,
int배열의 요소를 tmp배열에 보관하고, int배열변수에 tmp배열을 넣음
그 후, int배열의 마지막 인덱스에 매개변수x의 값을 넣음
Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } }
App.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Study09 { public class App { public App() { Console.WriteLine("App"); //배열 선언 DynamicArray dynamicArray = new DynamicArray(0); dynamicArray.Add(1); Console.WriteLine("1 추가"); foreach(int x in dynamicArray.arr) { Console.Write(x + " "); } Console.WriteLine(); Console.WriteLine("3 추가"); dynamicArray.Add(3); foreach (int x in dynamicArray.arr) { Console.Write(x + " "); } Console.WriteLine(); Console.WriteLine("5 추가"); dynamicArray.Add(5); foreach (int x in dynamicArray.arr) { Console.Write(x + " "); } Console.WriteLine(); } } }
DynamicArray.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Study09 { public class DynamicArray { public int[] arr; private int capacity; public DynamicArray(int capacity) { this.capacity = capacity; this.arr = new int[capacity]; } public void Add(int x) { int[] tmp = new int[arr.Length + 1]; for (int i = 0; i < arr.Length; i++) { tmp[i] = arr[i]; } arr = tmp; capacity = arr.Length; arr[arr.Length - 1] = x; } } }
'자료구조 > 수업내용' 카테고리의 다른 글
03/30 수업내용 메모 (0) 2021.03.30 03/30 단일 연결 리스트로 Stack 구현 (0) 2021.03.30 03/30 고정배열로 Stack 구현하기 (0) 2021.03.30 03/30 단일연결리스트 복습 Add, Count, Print (0) 2021.03.30 03/29 수업내용 메모 (0) 2021.03.29