삽입정렬
-
[백준] #2750: 수 정렬하기 (삽입정렬)Programming/백준 (c++) 2022. 5. 9. 21:25
https://www.acmicpc.net/problem/2750 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 5 5 2 3 4 1 예제 출력 1 1 2 3 4 5 코드 #include using namespace std; int k[1000]; int main(void) { int n, min_index = 0; cin >> n; for (int i = 0; i < n; i++) {..
-
[이취코] ch06-2. 삽입 정렬 (Insertion Sort)Major/Algorithms 2022. 3. 30. 11:13
삽입정렬? 특정한 데이터를 적절한 위치에 '삽입'한다 선택정렬보다 실행 시간 측면에서 더 효율적이고 선택정렬에 비해 구현 난이도가 높은편이다 특히 삽입정렬은 필요할 때만 위치를 바꾸므로 '데이터가 거의 정렬되어 있을 때' 훨씬 효율적이다 삽입정렬은 특정한 데이터가 적절한 위치에 들어가기 이전에, 그 앞까지의 데이터는 이미 정렬되어 있다고 가정한다 정렬되어 있는 데이터 리스트에서 적절한 위치를 찾은 뒤에, 그 위치에 삽입된다는 점이 특징이다 그림으로 보면 이해가 더 쉬울것이니 그림으로 살펴보도록 하자 초기 데이터가 다음과 같이 있다 삽입정렬은 두번째 데이터부터 시작한다 첫번째 데이터는 그 자체로 정렬되어 있다고 판단하기 때문이다 (1) 첫번째 데이터 7은 이미 그 자체로 정렬되어 있다고 생각하고, 두번째 ..