Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích cách sắp xếp chèn bằng cách sử dụng ngôn ngữ C.

Sắp xếp là quá trình sắp xếp các phần tử theo thứ tự tăng dần (hoặc) giảm dần.

Các kiểu sắp xếp

Ngôn ngữ C cung cấp năm kỹ thuật sắp xếp như sau -

  • Sắp xếp bong bóng (hoặc) Sắp xếp trao đổi
  • Sắp xếp lựa chọn
  • Sắp xếp chèn (hoặc) Sắp xếp tuyến tính
  • Sắp xếp nhanh (hoặc) Sắp xếp trao đổi phân vùng
  • Sắp xếp Hợp nhất (hoặc) Sắp xếp bên ngoài

Sắp xếp chèn

Logic được sử dụng để sắp xếp các phần tử bằng cách sử dụng kỹ thuật sắp xếp chèn như sau -

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;
   }
}

Giải thích

Hãy để chúng tôi xem xét một số phần tử theo thứ tự không được sắp xếp -

Giải thích cách sắp xếp chèn bằng cách sử dụng ngôn ngữ C.

Ví dụ

Sau đây là chương trình C để sắp xếp các phần tử bằng cách sử dụng kỹ thuật sắp xếp chèn -

#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;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

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