728x90 c3 [자료구조] 이중 연결 리스트 • 이중연결리스트(doublely linked list) - 두 개의 포인터를 사용하여 선행 노드와 후속 노드에 모두 연결되는 양방향 구조 ‣ 자료삽입 (1) 새로운 노드 생성하여 데이터 영역에 자료(나)를 저장 (2) (나)의 오른쪽 포인터 영역이 다음 노드(다)를 가리키게 하고, (나)의 왼쪽 포인터 영역이 이전 노드(가)를 가리키게 함 (3) 후속 노드(다)의 왼쪽 포인터 영역이 (나)를 가리키게 하고, 선행 노드(가)의 오른쪽 포인터 영역 역시 (나)를 가리키게 함 맨 앞 삽입 코드더보기void insert_front_dnode(int data) { // 삽입할 새로운 node 선언 Dnode* newNode = (Dnode*)malloc(sizeo.. 2024. 6. 20. [BOJ 1240][c++] 노드사이의 거리 https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 첫째 줄에 노드의 개수 $N$과 거리를 알고 싶은 노드 쌍의 개수 $M$이 입력되고 다음 $N-1$개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 $M$개의 노드 쌍 www.acmicpc.net dfs,bfs문제이다. 루트로부터 각 노드까지의 거리를 구하고, 공통 부분을 빼주면 된다. 코드는 아래에 있다. 더보기 #include using namespace std; vector g[1001]; bool c(pair a,pair b){return a.first> n >> m; for(int i=1;i> f >> t >> c; g[f].push_back(make_pair(.. 2023. 8. 3. [프로그래밍 지식][c언어] ++i 와 i++의 차이(전위 연산자,후위 연산자) 주로 c언어로 코딩을 하다보면 ++i 와 i++의 차이가 뭔지 모르는 경우가 많다. 먼저 ++i와 i++을 설명하자면 이는 전위 연산자와 후위 연산자라고 불린다. 정말 말그대로 앞에 연산이 위치하는 연산자와 뒤에 연산이 위치하는 연산자라고 이해하면 편하다. 즉, 변수를 선언할 때 변수에 값이 할당 되기 전에 연산을 한 후 값을 할당하는 전위 연산자와 변수에 값이 할당된 후에 연산을 하는 후위연산자이다. 이렇게 print문으로 출력을 할때 출력할 수에 전위연산자를 사용 할 경우 print가 되기 전에 먼저 연산을 하므로 1이 출력이 되고, 후위연산자를 사용할 경우 print가 된 후에 연산을 하므로 0이 출력되는 것이다. 2023. 3. 12. 이전 1 다음 728x90