본문 바로가기
반응형

Data Structure36

TableModel 만들기 Table을 MVC 패러다임으로 짠 것을 허접한 버전에서부터 발전시키는 과정까지 만들어 보겠다. import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.swing.*; import javax.swing.filechooser.*; import javax.swing.table.*; class StudentModel extends AbstractTableModel { static class Student implements Serializable { String name; int kor; int eng; int math; int sum; boolean scholarship; Student (Str.. 2024. 1. 6.
TreeModel 만들기 GUI 작업에서 중요한 파트인 Tree. 직접 만들어 보았다. 작업 과정을 소개해 보겠다. TreeFrame이라는 View와 TreeModel의 Model 그리고 View에 포함된 Controller로 MVC 패러다임을 따랐다. import java.util.*; import javax.swing.event.*; import javax.swing.tree.*; public class MyTreeModel implements TreeModel { private TreeNode root; MyTreeModel() { root = null; } void setRoot(String s) { root = new TreeNode(s); } boolean addNewChild(String parent, String .. 2024. 1. 6.
C, C++ Binary Tree(이진 트리) 만들기 (version 1) C와 C++로 Binary Tree 구현하기 C로 Binary Tree를 구현하고 C++로 바꿔보는 것 까지 해보겠다. Binary Tree라 하면, 각각의 노드가 최대 두 개의 자식 노드를 가지는 Tree 자료 구조로, 왼쪽 자식 노드와 오른쪽 자식 노드로 나뉜다. 트리에 7, 3, 2, 6, 9, 5, 8의 데이터를 넣는다고 해보자 Tree가 처음에 비어있을 경우, 노드를 하나 할당해주고 트리가 해당 노드를 가리키게 한다. 그 다음 3을 넣는다면 트리가 가리키는 노드들을 타고 내려가면서 노드들이 가지는 data 값과 새로 들어올 data값(=3)을 비교한다. 들어올 값이 비교하는 노드의 데이터 값보다 작다면 lchild 쪽으로, 크다면 rchild 쪽으로 간다. lchild나 rchild가 NULL을.. 2023. 4. 7.
C# 2차원 배열 & 가변 배열 정리 C#으로 2차원 배열을 만들어 쓰는 법을 알아보겠다. C#에서는 다차원 배열을 만들때 특이한 syntax를 쓰는데, 바로 배열 [] 사이에다 ','를 넣는것이다. 2차원배열 선언시, 필요한 row와 col 값만큼을 ','로 구분지어서 명시해주면 그 사이즈 만큼의 2차원 배열이 할당된다. 코드를 보면서 직접 사용해 보겠다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSArray2Test { class Program { static int getSum(int[,] p) { int sum = 0; for (int i = 0; i.. 2023. 4. 2.
C언어 1차원 배열과 2차원 배열 간단한 정리와 테스트 C Language 1ㆍ2 차원 배열의 사용과 특성에 대해 알아보겠다. 먼저 C의 1차원 배열 사용 관습이다. #include #include int getSum(int p[], int n) { int sum = 0; int i; for (i = 0; i < n; i++) sum += p[i]; return sum; } void print(int p[], int n) { int sum = 0; int i; for (i = 0; i < n; i++) printf("%d ", p[i]); printf("\n"); } main() { int x[100]; int i; int sum = 0; int n; printf("Type size of array : "); scanf("%d", &n); for (i = 0.. 2023. 4. 1.
C++ LinkedList 만들기 (version 4 - Doubly LinkedList) C++로 Doubly LinkedList 만들기 https://suldenlion.tistory.com/97 (C로 자료구조 구현하기) LinkedList 만들기 (version 2 - Doubly LinkedList) C로 LinkedList 구현하기 Doubly LinkedList를 C로 구현해 보겠다. Doubly LinkedList는 Singly LinkedList의 단점을 보완해 만든 LinkedList로, Library에 있는 LinkedList는 Doubly LinkedList로써 구현되어 있다. Singly LinkedList suldenlion.tistory.com 위의 C로 Doubly LinkedLIst 만들기의 코드를 참고하여 C++ Doubly LinkedList를 만들어 보겠다... 2023. 3. 31.
반응형