티스토리 뷰
사용언어 : C++
- 버블정렬
버블 정렬은 차례대로 첫 번째와 두 번째, 두 번째와 세 번째 .... 이렇게 해서 마지막까지 비교되면, 마지막을 빼고 다시 처음부터 비교하는 방식이다 즉,
1) 1 - 2 번째 비교하여 1이 크면 변경
2) 1을 반복하여 끝까지 진행
3) 끝까지 진행하면 마지막자리를 빼고 다시 1부터 진행.
1번에서 2번 과정 진행
5번 고정 후 다시 1번에서 2번 과정 진행
- 의사코드
array<int,11> arr = { 1,6,4,2,3,4,6,8,9,2,4 };
void BubbleSort(array<int,11>& arr) {
for (int i = 0; i < arr.size(); i++) {
for (int j = 1; j < (arr.size() - i); j++) {
if (arr[j - 1] > arr[j]) {
int tmp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = tmp;
}
}
}
}
- 삽입 정렬
1) 두 번째 원소부터 시작하여 앞의 원소들을 비교한다.
2) 만약 비교하는 원소가 크다면 자리를 교환하고, 뒤로 한칸씩 미룬다.
3) 끝까지 반복한다.
빨간색 ) 비교 원소
주황색 ) 비교할 원소
- 의사코드
void InsertionSort(array<int, 11>& arr) {
for (int i = 1; i < arr.size(); i++) {
for (int j = 0; j < i; j++) {
if (arr[i] < arr[j]) {
for (int k = i; k > j; k--) {
int tmp = arr[k - 1];
arr[k - 1] = arr[k];
arr[k] = tmp;
}
}
}
}
}
'자료구조 및 알고리즘 > 자료구조' 카테고리의 다른 글
문자열 파싱) Position, Remove 방식 (0) | 2022.06.17 |
---|---|
C++ STL) 심심해서 만들어본 간단한 Vector (0) | 2022.06.17 |
자료구조) Queue 큐 - 선형큐인줄 알았지만 슬픈 원형 큐 (0) | 2022.06.14 |
링크드리스트) 두개의 다항식 계산 (0) | 2022.06.14 |
행렬 알고리즘) 워셜 알고리즘 (0) | 2022.06.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- STL
- 정보보안
- 학교
- 레지스터
- 보안
- 더블버퍼링
- 인제대학교
- 컨퍼런스
- 드림핵
- 개발
- 야경
- Select모델
- 지뢰찾기
- 자료구조
- 백준
- 워셜알고리즘
- 스레드풀
- queue
- 링크드 리스트
- BFS
- 시스템보안
- Dreamhack
- 멀티쓰레드
- 고양이
- c++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함