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

Giải thích các kỹ thuật sắp xếp trong ngôn ngữ C

Vấn đề

Các kỹ thuật sắp xếp khác nhau trong Ngôn ngữ C là gì? Giải thích bất kỳ một kỹ thuật sắp xếp nào bằng một ví dụ.

Giải phá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 bong bóng

Đây là kỹ thuật sắp xếp đơn giản nhất còn được gọi là sắp xếp trao đổi.

Quy trình

  • So sánh phần tử đầu tiên với các phần tử còn lại trong danh sách và trao đổi (hoán đổi) chúng nếu chúng không theo thứ tự.

  • Lặp lại tương tự cho các phần tử khác trong danh sách cho đến khi tất cả các phần tử được sắp xếp.

30 50 40 10 20

Hãy xem xét các yếu tố được đưa ra bên dưới -

Giải thích các kỹ thuật sắp xếp trong ngôn ngữ C

Thẻ đầu tiên

So sánh phần tử đầu tiên với các phần tử còn lại.

a [0]> a [1] $ \ square $ $ \ square $ 30> 50 (F) $ \ square $ $ \ square $ không trao đổi

a [0]> a [2] $ \ square $ $ \ square $ 30> 40 (F) $ \ square $ $ \ square $ không trao đổi

a [0]> a [3] $ \ square $ $ \ square $ 30> 10 (T) $ \ square $ $ \ square $ Exchange

a [0]> a [4] $ \ square $ $ \ square $ 10> 20 (F) $ \ square $ $ \ square $ không trao đổi

10 50 40 30 20

Thẻ thứ hai

So sánh phần tử thứ hai với các phần tử còn lại.

Giải thích các kỹ thuật sắp xếp trong ngôn ngữ C

a [1]> a [2] $ \ square $ $ \ square $ 50> 40 (T) $ \ square $ $ \ square $ Exchange

a [1]> a [3] $ \ square $ $ \ square $ 40> 30 (T) $ \ square $ $ \ square $ Exchange

a [1]> a [4] $ \ square $ $ \ square $ 30> 20 (T) $ \ square $ $ \ square $ Exchange

10 20 50 40 30

Thẻ thứ ba

So sánh phần tử thứ ba với các phần tử còn lại.

Giải thích các kỹ thuật sắp xếp trong ngôn ngữ C

a [2]> a [3] $ \ square $ $ \ square $ 50> 40 (T) $ \ square $ $ \ square $ Exchange

a [2]> a [4] $ \ square $ $ \ square $ 40> 30 (T) $ \ square $ $ \ square $ Exchange

10 20 30 50 40

Thẻ thông hành thứ tư

So sánh phần tử thứ tư với các phần tử còn lại.

Giải thích các kỹ thuật sắp xếp trong ngôn ngữ C

a [3]> a [4] $ \ square $ $ \ square $ 50> 40 (T) $ \ square $ $ \ square $ Exchange

10 20 30 40 50

Quy trình

Tham khảo quy trình sắp xếp bong bóng như được đưa ra bên dưới -

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

Ví dụ

Sau đây là chương trình C cho kỹ thuật phân loại bong bóng -

#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]);
   }
   printf("Before bubble sorting the elements are:\n");
   for(i=0; i<n; i++)
      printf("%d \t\n", a[i]);
   for (i=0; i<n-1; i++){
      for (j=i+1; j<n; j++){
         if (a[i] > a[j]){
            t = a[i];
            a[i] = a[j];
            a[j] = t;
         }
      }
   }
   printf ("after bubble 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:
5
enter the elements:
12 11 45 26 67
Before bubble sorting the elements are:
12
11
45
26
67
after bubble sorting the elements are:
11 12 26 45 67