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ก่อน>