본문 바로가기

인하대5

Stack 개요 한 쪽 끝에서만 삽입 삭제가 일어나는 자료구조 Stack의 성질 Last-in First-out (LIFO), 즉 후입선출 방식으로 객체를 담는다. 삽입과 삭제에 쓸 위치를 알고 있어야 한다. Stack 대표적인 operation은 push, pop이 있고, 추가로 top, size, empty 등을 지원할 수 있다. Array 또는 Linked List로 구현할 수 있다. 아래는 각각에 대한 예시이다. struct ArrayStack { int* stack; int maxSize, sz; ArrayStack(int ms) { maxSize = ms; sz = 0; stack = new int[maxSize]; } void push(int data); int pop(); } struct Node {.. 2020. 10. 26.
Array 개요 동일 자료형 원소들의 sequence. TYPENAME name[SIZE] 의 꼴로 쓴다. Array의 성질 index를 이용해 각 원소를 임의 참조할 수 있다. [0 : N) 크기를 미리 정해야 한다. Insertion index i에 원소 e를 삽입할 때, index가 i 이상인 모든 원소를 shift 한다. $O(n)$ Deletion index i의 원소를 삭제할 때, index가 i 이상인 모든 원소를 shift 한다. $O(n)$ Array의 원소들은 연속하여야 하기 때문이다. Implementation 아래는 이론에서 배운 내용을 구현한 코드이다. #include using namespace std; /* # Insert(i, e)O(n) # Remove(i)O(n) # at(i)O(1.. 2020. 10. 25.
JDBC 프로그래밍 기말 시험에 전통적으로 나오는 JDBC 손코딩 부분을 어떻게 다 외우나 고민이 많았고, 저장과 출력에서 많은 부분이 겹친다는 점을 최대한 활용하여 외우기 쉽게 정리하였다. 시험에서 driver와 url을 모두 주므로 외우지 않아도 된다. 실제 코딩할 때는 (기말 프로젝트 등) PreparedStatement를 사용하는 것을 추천한다. 2020. 9. 28.
JSP Beans 프로그래밍 및 Action Tag 활용 + - JSP로 작성된 input이 위와 같을 때, /// Cal.java package myBean; public class Cal { private int num1; private int num2; private String oper; public Cal() { num1 = 0; num2 = 0; oper = ""; } // get, set method public int getNum1() { return num1; } public int getNum2() { return num1; } public String getOper() { return oper; } public void setNum1(int num1) { this.num1 = num1; } public void setNum2(int num2.. 2020. 9. 2.
SQL Query 2020년 기준 MariaDB를 사용했다. 로고가 마음에 든다. Member Table 생성 CREATE TABLE member ( id CHAR(8) NOT NULL, name CHAR(12) NOT NULL, age INT default 0, email VARCHAR(20), primary key(id) ); 이름이 member인 테이블을 만든다. CREATE TABLE member 이름이 id 인 CHAR형 필드, 각 크기는 8이다. NULL을 허용하지 않는다. id CHAR(8) NOT NULL 마찬가지로 NOT NULL 속성을 가지고 있고. 레코드 삽입시 값을 지정하지 않으면 오류가 발생한다. name CHAR(12) NOT NULL 이름이 age인 INT형 필드, 값을 지정하지 않으면 0으로 .. 2020. 9. 1.