Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

อธิบายการเรียงลำดับการแทรกโดยใช้ภาษาซี


การเรียงลำดับเป็นกระบวนการของการจัดเรียงองค์ประกอบทั้งจากน้อยไปมาก (หรือ) จากมากไปหาน้อย

ประเภทของการจัดเรียง

ภาษา C มีเทคนิคการเรียงลำดับห้าแบบ ซึ่งมีดังนี้ -

  • การเรียงลำดับฟอง (หรือ) การเรียงลำดับการแลกเปลี่ยน
  • การเรียงลำดับการเลือก
  • การเรียงลำดับการแทรก(หรือ) การเรียงลำดับเชิงเส้น
  • การเรียงลำดับด่วน (หรือ) การเรียงลำดับการแลกเปลี่ยนพาร์ติชั่น
  • ผสานการเรียงลำดับ (หรือ) การเรียงลำดับภายนอก

การเรียงลำดับการแทรก

ตรรกะที่ใช้ในการจัดเรียงองค์ประกอบโดยใช้เทคนิคการเรียงลำดับการแทรกมีดังนี้ −

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 เพื่อจัดเรียงองค์ประกอบโดยใช้เทคนิคการเรียงลำดับการแทรก -

#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