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

โปรแกรม Python สำหรับค็อกเทล Sort


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง

แจ้งปัญหา − เราได้รับรายการ เราจำเป็นต้องทำการเรียงลำดับบิตโทนิกในรายการที่กำหนดและแสดงรายการ

ประเภทค็อกเทล − ที่นี่การเรียงลำดับเกิดขึ้นเหมือนการเรียงลำดับแบบฟองที่มีการวนซ้ำทั้งสองทิศทาง

อัลกอริทึม

ลำดับแรกคืออาร์เรย์ข้ามจากซ้ายไปขวา ในระหว่างการข้ามผ่าน รายการที่อยู่ติดกันจะถูกเปรียบเทียบและขึ้นอยู่กับเงื่อนไข ค่าจะถูกสลับ ด้วยวิธีนี้ จำนวนที่มากที่สุดจะอยู่ที่ส่วนท้ายของอาร์เรย์

ตอนนี้อาร์เรย์เคลื่อนที่ไปในทิศทางตรงกันข้ามและตามเงื่อนไข องค์ประกอบจะถูกสลับ โดยตัวเลขที่น้อยที่สุดจะอยู่ที่จุดเริ่มต้น

ทีนี้มาดูวิธีแก้ปัญหาในการใช้งานด้านล่าง -

ตัวอย่าง

# 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 สำหรับค็อกเทล Sort

ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการสร้างโปรแกรม Python สำหรับการจัดเรียงค็อกเทล