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

เรียงวงจร


Cycle Sort คืออัลกอริธึมการจัดเรียงแบบแทนที่ นอกจากนี้ยังเป็นการจัดเรียงแบบเปรียบเทียบและมีประสิทธิภาพสำหรับเทคนิคการจัดเรียงแบบแทนที่อื่นๆ ค้นหาจำนวนหน่วยความจำขั้นต่ำที่เขียนเพื่อดำเนินการเรียงลำดับ

ความซับซ้อนของเทคนิคการเรียงลำดับวงจร

  • ความซับซ้อนของเวลา:O(n^2)
  • ความซับซ้อนของอวกาศ:O(1)

อินพุตและเอาต์พุต

Input:A list of unsorted data:23 63 98 74 20 14 36 45 99 78Output:Array before Sorting:23 63 98 74 20 14 36 45 99 78Array after Sorting:14 20 23 36 45 63 74 78 98 99

อัลกอริทึม

cycleSort(อาร์เรย์, ขนาด)

ป้อนข้อมูล - อาร์เรย์ของข้อมูลและจำนวนทั้งหมดในอาร์เรย์

ผลลัพธ์ − อาร์เรย์ที่เรียงลำดับ

เริ่มต้นสำหรับการเริ่มต้น :=0 ถึง n – 2 do key :=array[start] location :=start for i :=start + 1 ถึง n-1 do if array[i]  

ตัวอย่าง

#include โดยใช้เนมสเปซ std; void swapping (int &a, int &b) {// สลับเนื้อหาของ a และ b int temp; อุณหภูมิ =a; ก =ข; b =temp;} void display (int *array, int size) { for(int i =0; i> น; int arr[n]; //สร้างอาร์เรย์ด้วยจำนวนองค์ประกอบที่กำหนด cout <<"ป้อนองค์ประกอบ:" <> arr[i]; } cout <<"อาร์เรย์ก่อนจัดเรียง:"; แสดง(arr, n); cycleSort(arr, n); cout <<"อาร์เรย์หลังการเรียงลำดับ:"; display(arr, n);}

ผลลัพธ์

ป้อนจำนวนองค์ประกอบ:10ป้อนองค์ประกอบ:23 63 98 74 20 14 36 45 99 78อาร์เรย์ก่อนจัดเรียง:23 63 98 74 20 14 36 45 99 78อาร์เรย์หลังการเรียงลำดับ:14 20 23 36 45 63 74 78 98 99