[C/C++] 이중 LinkedList 구현 예제
2021. 10. 14. 17:56
Language/C
사용자로부터 정수 값을 입력받아 이중연결 리스트로 생성한다. 리스트 노드는 입력받은 순서대로 연결한다. 이중연결 리스트 삽입 함수/삭제 함수를 사용한다.(교재 참고) (1) 입력받은 후 display() 함수에 의해 각 노드의 내용을 출력한다. (display() 교재 참고) (2) 마지막 데이터를 삭제 후 (삭제 함수 이용), 다시 display() 함수로 각 노드 내용을 출력한다. - 입력을 끝내기 위해 마지막에 -1을 입력한다. - DlistNode 타입을 정의하여 사용한다. - 동적 메모리 할당을 사용한다. 15 25 70 5 10 -1 15 25 70 5 10 15 25 70 5 7 20 12 -1 7 20 12 7 20 #include #include typedef struct DlistNod..
[Python] 터틀 그래픽 예제 1번
2021. 10. 13. 17:29
Language/Python
터틀 그래픽을 이용하여 다음 조건에 따른 프로그램을 작성하세요. – 원점을 중심으로 가로, 세로 200 크기의 사각형을 그린다. – 마우스 이벤트를 이용하여 사각형 내부를 클릭하면 클릭한 지점에 파랑색 원, 외부를 클릭하면 빨강색 원을 그린다. – 원의 크기는 반지름 5 import turtle as t t.shape('turtle') # 사각형 그리기 t.penup() t.goto(100,100) t.pendown() t.goto(-100,100) t.goto(-100,-100) t.goto(100,-100) t.goto(100,100) t.penup() def decision(x, y): if (x = -100) and ( y = -100): # 내부일 경우 # 파랑색 원 t.penup() t.got..
[Java] 6주차 수업 예제 13번, 14번, 15번
2021. 10. 8. 02:23
Language/JAVA
13번 학생들에게 가장 좋아하는 SF영화를 조사하여 배열에 저장하였다. 각 영화의 답변 횟수를 계산하여 출력하시오 import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; public class Movies { public static void main(String[] args) { String[] arr = { "Transformer", "Starwars", "Matrix", "Terminator", "Avatar", "Starwars", "Aliens", "Avatar", "Matrix", "Terminator", "AI", "Matrix", "The Martian", "Avatar", "Interstella..
[C / C++] 단일 Linked List 예제 1
2021. 10. 7. 12:42
Language/C
사용자로부터 정수 값을 입력받아 단일 연결 리스트로 생성한다. 리스트 노드는 입력받은 순서대로 연결한다. 단일 연결 리스트 삽입 함수를 사용한다.(교재 참고) display() 함수에 의해 각 노드의 내용을 출력한다. (교재 참고) - 입력을 끝내기 위해 마지막에 -1을 입력한다. - ListNode 타입을 정의하여 사용한다. - 동적 메모리 할당을 사용한다. 15 25 70 5 10 -1 15 25 70 5 10 7 20 12 -1 7 20 12 #include #include typedef struct List{ int data; struct List *link; } ListNode; void display(ListNode *h) { while (h != NULL) { printf("%d ", h->..
[C] Linked List - 삽입, 삭제, 순회
2021. 10. 4. 18:37
Language/C
insert_node() void insert_node(ListNode **phead, ListNode *p, ListNode *new_node) # phead: 헤드포인터 head에 대한 포인터 # p : 삽입될 위치의 선행노드를 가리키는 포인터(이 노드 다음에 삽입) # new_node : 새로운 노드를 가리키는 포인터 삽입의 3가지 경우 1) head가 NULL인 경우: 공백 리스트에 삽입 2) p가 NULL인 경우 : 리스트의 맨 처음에 삽입 3) 일반적인 경우: 리스트의 중간에 삽입 왜 head포인터를 바로 전달하지 않고 head포인터의 주소인 phead를 인자로 전달하는지? 그것은 C언어에서 함수를 호출할때 Call by vallue로 인자를 전달하기 때문에 head포인터를 그냥 전달해 버리면..
[Java] 5주차 수업 예제 8번, 14번
2021. 9. 30. 22:44
Language/JAVA
// 문자열에 들어 있는 괄호가 맞는지 검사한다. 괄호는 [], {}, ()를 사용할 수 있으며, 서로 중첩할 수 있다. import java.util.LinkedList; public class CheckBrace { public static void main(String[] args) { // 문자열에 들어 있는 괄호가 맞는지 검사한다. 괄호는 [], {}, ()를 사용할 수 있으며, 서로 중첩할 수 있다. String s = "( 4 + [ 3 + { x - y } / 2 ] ) * 7"; LinkedList stack = new LinkedList(); for(int i=0; i
[Python] 터틀 그래픽
2021. 9. 29. 16:19
Language/Python
터틀(Turtle) 그래픽은 화면에 그림을 그릴 수 있는 기능으로 파이선에서 기본 제공되는 모듈이다. 모듈 선언 import turtle 별명 사용 import turtle as t 커서 모양 t.shape( 'turtle' ) classic, arrow, circle, square, triangle #
[네트워크] Network Layer
2021. 9. 28. 18:01
개발 기초/Network
네트워크 층의 기능 라우팅과 포워딩 기능 라우팅 - 네트워크에서 패킷이 목적지까지 도착할 수 있도록 경로를 결정해주는 것 포워딩 - 패킷을 전달시키는 역할로 보통 라우팅과 포워딩을 같은 역할로서 말한다. Packetizing 하나의 메세지를 여러개의 패킷으로 나누어서 전달 혼잡제어(congestion control) 공동 공간에 너무 많은 데이터그램이 존재하는 경우 제어 패킷 스위칭 하나의 메세지를 다수의 패킷으로 나누어서 보내는 것 어떤식으로 나눠서 보내냐에 따라서 데이터그램 방식(Datagram approach) 가상 회선 방식(Virtual circuit approach) 방식으로 나뉜다. 데이터그램 방식(Datagram approach) 비연결성 서비스이다. 각 패킷을 독립적으로 처리한다. 각 패..