ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง
แจ้งปัญหา − เราได้รับรายการ เราจำเป็นต้องทำการเรียงลำดับบิตโทนิกในรายการที่กำหนดและแสดงรายการ
ประเภทค็อกเทล − ที่นี่การเรียงลำดับเกิดขึ้นเหมือนการเรียงลำดับแบบฟองที่มีการวนซ้ำทั้งสองทิศทาง
อัลกอริทึม
ลำดับแรกคืออาร์เรย์ข้ามจากซ้ายไปขวา ในระหว่างการข้ามผ่าน รายการที่อยู่ติดกันจะถูกเปรียบเทียบและขึ้นอยู่กับเงื่อนไข ค่าจะถูกสลับ ด้วยวิธีนี้ จำนวนที่มากที่สุดจะอยู่ที่ส่วนท้ายของอาร์เรย์
ตอนนี้อาร์เรย์เคลื่อนที่ไปในทิศทางตรงกันข้ามและตามเงื่อนไข องค์ประกอบจะถูกสลับ โดยตัวเลขที่น้อยที่สุดจะอยู่ที่จุดเริ่มต้น
ทีนี้มาดูวิธีแก้ปัญหาในการใช้งานด้านล่าง -
ตัวอย่าง
# function def cocktailSort(a): n = len(a) flag = True start = 0 end = n-1 while (flag==True): # to ignore the result of the previous iteration flag = False # left to right traversal for i in range (start, end): if (a[i] > a[i+1]) : a[i], a[i+1]= a[i+1], a[i] flag=True # if no swap takes place array remains sorted if (flag==False): break # otherwise, reset the flag flag = False # last item is aldready sorted end = end-1 # iteration from right to left for i in range(end-1, start-1,-1): if (a[i] > a[i+1]): a[i], a[i+1] = a[i+1], a[i] flag = True # first element is already sorted start = start+1 # main a = [2,5,4,3,8,3,4,6] cocktailSort(a) print("Sorted array is:") for i in range(len(a)): print (a[i],end=" ")
ผลลัพธ์
Sorted array is: 2 3 3 4 4 5 6 8
ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการสร้างโปรแกรม Python สำหรับการจัดเรียงค็อกเทล