티스토리 뷰

사용언어 : 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;
				}
			}
		}
	}
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함