목록전체 글 (44)
거북이의 IT 공부
본 글은 씹어먹는 C++(https://modoocode.com/223)를 참고하여 여기서 내가 모르고 새로운 부분을 정리하는 용도로 작성했다. 나중에 c++ 문제 풀 때 또 모르면 참고하려고!!! 반복자 : 반복자는 컨테이너에 iterator 멤버 타입으로 정의되어 있습니다. begin() 함수는 예상했던 대로, vector 의 첫번째 원소를 가리키는 반복자를 리턴합니다. 그런데, 흥미롭게도 end() 의 경우 vector 의 마지막 원소 한 칸 뒤를 가리키는 반복자를 리턴하게 됩니다. 이에 여러가지 이유가 있겠지만, 가장 중요한 점이 이를 통해 빈 벡터를 표현할 수 있다는 점입니다. 만일 begin() == end() 라면 원소가 없는 벡터를 의미하겠지요. 만약에 vec.end() 가 마지막 원소를 ..
기본세팅 typedef struct ListNode { int data; struct ListNode* link; } ListNode; int main(void) { ListNode* p1, * p2, * head; p2 = (ListNode*)malloc(sizeof(ListNode)); p1 = (ListNode *)malloc(sizeof(ListNode)); p1->data = 10; p1->link = NULL; p2->data = 20; p2->link = NULL; p1->link = p2; head = p1; } ListNode라는 구조체를 만들고 ListNode의 포인터를 이용하여 연결 리스트를 만든다. 삽입 //phead : head를 가리키는 포인터 -> head의 손상 방지 //p ..
1. 선택 정렬 : 가장 작은 숫자를 찾아서 정렬되지 않은 구간의 맨 처음으로 옮긴다. c언어 code #define SWAP(x, y, t) ((t)=(x), (x)=(y), (y)=(t)) void selection_sort(int arr[], int n) { int i, j, least, temp; //least : 정렬되지 않은 것 중에서 가장 작은 숫자 for (i = 0; i arr[j]) { least = j; } } SWAP(arr[i], arr[least], temp); } } 2. 삽입정렬 : 정렬되지 않은 요소 하나를 정렬된 구간에 어디에 넣을지 정하는 정렬 key..
잡소리를 조금 하자면 이제 알고리즘 스터디에 들어갔다 휴학생이어서 귀찮고 하기 많이 싫겠지만(ㅋ) 그래도 계획적으로 생활하고 뿌듯하게 휴학생활을 마무리하고 싶다 (3월 한 달동안은 빈둥거리게 건강하지 못하게 살았으닌깐..!) 이 블로그도 그것의 첫 걸음이기를 바라면서 c++공부와 알고리즘 공부를 병행하고자 한다. 일단 알고리즘 공부하고 나서 백준 문제를 푸는거에 초점을 두고 - 일주일에 최소 3문제 (내가 아는 c언어로) c++ 공부는 이와 병행해서 어느정도 알게되면 c++ 알고리즘 문제를 풀어보자!!!! (아자아자) 문제 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한..