반응형
#배열 #삽입 #insert #array
크기 순으로 정렬되어 있는 배열에 값을 삽입하는 순서
- 삽입한 위치를 찾는다.
- 뒤에서부터 삽입할 위치까지 앞으로 한 칸씩 복사한다(이동한다)
- 삽입할 위치에 새로운 값을 넣는다.
크기 순으로 정렬되어 있는 배열에 값을 삽입하는 C언어 코드입니다.
C언어
#define _CRT_SECURE_NO_WARNINGS // Visual Studio
#include <stdio.h>
void print(int a[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
int main()
{
int i, j;
int p[10] = { 10,20,30,40,50,60,70,80,90, 0 };
int value;
print(p, 9);
printf("삽입할 값: ");
scanf("%d", &value);
// 삽입할 위치 찾기
for (i = 0; i < 9; i++)
if (p[i] > value) break;
// i번째 삽입하기 위해서는 i뒤쪽 배열을 한 칸씩 뒤로 이동. 뒤에서부터 앞으로 이동한다.
for (j = 8; j >= i; j--)
p[j + 1] = p[j];
p[i] = value; // p[i] 번째에 value을 삽입
print(p, 10);
}
(Output)
반응형
'C_C++ > 기초_알고리즘_문제' 카테고리의 다른 글
(C언어) 배열 요소를 뒤로 한 칸씩 이동하기(회전하기) (0) | 2022.11.28 |
---|---|
(C언어) 배열 요소를 앞으로 한 칸씩 이동하기(회전하기) (0) | 2022.11.27 |
(C언어) 개미 수열 look and say sequence (0) | 2022.11.24 |
(C언어 재귀함수를 이용한 팩토리얼 구하기 (0) | 2022.11.19 |
(C/C++) 병합정렬 Merge Sort (0) | 2022.11.19 |