Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어를 사용하여 삽입 정렬을 설명합니다.

<시간/>

정렬은 요소를 오름차순(또는 내림차순)으로 정렬하는 과정입니다.

정렬 유형

C 언어는 다음과 같은 5가지 정렬 기술을 제공합니다. -

  • 버블 정렬(또는) 교환 정렬
  • 선택 정렬
  • 삽입 정렬(또는) 선형 정렬
  • 빠른 정렬(또는) 파티션 교환 정렬
  • 병합 정렬(또는) 외부 정렬

삽입 정렬

삽입 정렬 기술을 사용하여 요소를 정렬하는 데 사용되는 논리는 다음과 같습니다. -

for(i = 1; i <= n - 1; i++){
   for(j = i; j > 0 && a[j - 1] > a[j]; j--){
      t = a[j];
      a[j] = a[j - 1];
      a[j - 1] = t;
   }
}

설명

정렬되지 않은 순서로 있는 몇 가지 요소를 살펴보겠습니다. -

C 언어를 사용하여 삽입 정렬을 설명합니다.

예시

다음은 삽입 정렬 기술을 사용하여 요소를 정렬하는 C 프로그램입니다 -

#include<stdio.h>
int main() {
   int a[50], i,j,n,t;
   printf("enter the No: of elements in the list:\n");
   scanf("%d", &n);
   printf("enter the elements:\n");
   for(i=0; i<n; i++){
      scanf ("%d", &a[i]);
   }
   for(i = 1; i <= n - 1; i++){
      for(j=i; j > 0 && a[j - 1] > a[j]; j--){
         t = a[j];
         a[j] = a[j - 1];
         a[j - 1] = t;
      }
   }
   printf ("after insertion sorting the elements are:\n");
   for (i=0; i<n; i++)
   printf("%d\t", a[i]);
   return 0;
}

출력

위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -

Enter the No: of elements in the list:
10
Enter the elements:
34
125
2
6
78
49
1
3
89
23
After insertion sorting the elements are:
1 2 3 6 23 34 49 78 89 125