ซูโดโค้ด procedure cocktailShakerSort( A : list of sortable items ) defined as: do swapped := false for each i in 0 to length( A ) - 2 do: if A[ i ] > A[ i + 1 ] then // test whether the two elements are in the wrong order swap( A[ i ], A[ i + 1 ] ) // let the two elements change places swapped := true end if end for if not swapped then // we can exit the outer loop here if no swaps occurred. break do-while loop end if swapped := false for each i in length( A ) - 2 to 0 do: if A[ i ] > A[ i + 1 ] then swap( A[ i ], A[ i + 1 ] ) swapped := true end if end for while swapped // if no elements have been swapped, then the list is sorted end procedure
ช่องทางด้านขวาแรกจะเปลี่ยนองค์ประกอบที่ใหญ่ที่สุดไปยังตำแหน่งที่ถูกต้องในตอนท้ายและทางออกด้านซ้ายต่อไปนี้จะเปลี่ยนองค์ประกอบที่เล็กที่สุดไปยังตำแหน่งที่ถูกต้องในตอนเริ่มต้น การส่งผ่านครั้งที่สองเสร็จสมบูรณ์จะเปลี่ยนองค์ประกอบที่เล็กที่สุดเป็นอันดับสองและใหญ่เป็นอันดับสองไปยังสถานที่ที่ถูกต้องและอื่น ๆ หลังจากที่ฉันผ่านฉัน i แรกและองค์ประกอบ i ล่าสุดในรายการอยู่ในตำแหน่งที่ถูกต้องและไม่จำเป็นต้องได้รับการตรวจสอบ โดยการย่อส่วนของรายการที่เรียงลำดับในแต่ละครั้งจำนวนการดำเนินการสามารถลดลงครึ่งหนึ่ง (ดูการจัดเรียงแบบฟอง)
ความซับซ้อนของเครื่องปั่นค็อกเทลในสัญกรณ์ O ใหญ่คือ {\ displaystyle O (n ^ {2})} O (n ^ {2}) สำหรับทั้งกรณีที่เลวร้ายที่สุดและกรณีค่าเฉลี่ย แต่มันกลายเป็นใกล้ชิดกับ {\ displaystyle O (n)} O (n) ถ้ารายการถูกสั่งซื้อส่วนใหญ่ก่อนที่จะใช้อัลกอริทึมการเรียงลำดับ ยกตัวอย่างเช่นถ้าทุกองค์ประกอบอยู่ในตำแหน่งที่แตกต่างจาก k (k ≥ 1) จากตำแหน่งที่มากที่สุดก็จะสิ้นสุดลงความซับซ้อนของการเรียงลำดับค๊อกเทลกลายเป็น {\ displaystyle O (kn)} {\ displaystyle O (kn).}
แต่ไม่มีการปรับแต่งเหล่านี้นำไปสู่อัลกอริทึมที่ดีกว่าการแทรกตรง (นั่นคือการจัดเรียงแบบแทรก); และเรารู้อยู่แล้วว่าการแทรกตรงไม่เหมาะสำหรับ N ขนาดใหญ่ [... ] ในระยะสั้นการจัดเรียงฟองดูเหมือนว่าไม่มีอะไรจะแนะนำให้ใช้ยกเว้นชื่อที่จับใจและความจริงที่ว่ามันนำไปสู่ปัญหาทางทฤษฎีบางอย่างที่น่าสนใจ
ตุลาคม 08, 2021
การเร, ยงลำด, บแบบค, อกเทลเชกเกอร, บทความน, ไม, การอ, างอ, งจากแหล, งท, มาใดกร, ณาช, วยปร, บปร, งบทความน, โดยเพ, มการอ, างอ, งแหล, งท, มาท, าเช, อถ, เน, อความท, ไม, แหล, งท, มาอาจถ, กค, ดค, านหร, อลบออก, เร, ยนร, าจะนำสารแม, แบบน, ออกได, อย, างไรและเม, อไร, งเ. bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir kareriyngladbaebbkhxkethlechkekxr yngepnthiruckkninnamfxngeriyngladb eriyngraladeriyngsbepliyn hruxkraswyeriyngepn rupaebbkhxngfxngsbuthimithngaebbxlkxrithumkarcderiyngthimiesthiyrphaphaelakareriyngladbkarepriybethiyb xlkxrithumcaaetktangcakkarcderiyngaebbfxngsbuinaebbthieriyngtamthngsxngthisthanginaetlakarphanraykar xlkxrithumkareriyngladbniepnephiyngelknxyyakthicaichmakkwakareriyngladbfxngaelaaekpyhakhxngetainfxngsbu caihkarprbprungprasiththiphaphephiyngelknxyaelaimephimprasiththiphaphkarthanganaebbimpracatw echnkareriyngladbfxngsbukimidepnthinasnicinthangptibti karcderiyngaethrkepnthitxngkarsahrbpraephththieriybngay aemwacaphbwamipraoychnbangxyangindwykareriyngladbaebbkhxkethlechkekxrpraephthSorting algorithmokhrngsrangkhxmulArrayprasiththiphaphemuxekidkrniaeythisudO n 2 displaystyle O n 2 prasiththiphaphemuxekidkrnidithisudO n displaystyle O n prasiththiphaphemuxekidkrnithwipO n 2 displaystyle O n 2 primankhwamtxngkarphunthiemuxekidkrniaeythisudO 1 displaystyle O 1 dkhkkareriyngladbaebbkhxkethl charkhekxr sxrt epnkarprbprungrupaebbkarcderiyngaebb Bubble sort ihthanganiddikhun dwykarephimkhuntxnkarcderiyngkhunxikkrabwnkarhnung odywithikarcderiyngsxngthangslbkn suodokhd procedure cocktailShakerSort A list of sortable items defined as do swapped false for each i in 0 to length A 2 do if A i gt A i 1 then test whether the two elements are in the wrong order swap A i A i 1 let the two elements change places swapped true end if end for if not swapped then we can exit the outer loop here if no swaps occurred break do while loop end if swapped false for each i in length A 2 to 0 do if A i gt A i 1 then swap A i A i 1 swapped true end if end for while swapped if no elements have been swapped then the list is sorted end procedure chxngthangdankhwaaerkcaepliynxngkhprakxbthiihythisudipyngtaaehnngthithuktxngintxnthayaelathangxxkdansaytxipnicaepliynxngkhprakxbthielkthisudipyngtaaehnngthithuktxngintxnerimtn karsngphankhrngthisxngesrcsmburncaepliynxngkhprakxbthielkthisudepnxndbsxngaelaihyepnxndbsxngipyngsthanthithithuktxngaelaxun hlngcakthichnphanchn i aerkaelaxngkhprakxb i lasudinraykarxyuintaaehnngthithuktxngaelaimcaepntxngidrbkartrwcsxb odykaryxswnkhxngraykarthieriyngladbinaetlakhrngcanwnkardaeninkarsamarthldlngkhrunghnung dukarcderiyngaebbfxng niepntwxyangkhxngxlkxrithumin phasaiphtrxn odymikarephimprasiththiphaphinkarcdcadchnikaraelkepliynlasudaelakarxpedtkhxbekht def cocktail shaker sort array for i in range len array 1 0 1 swapped False for j in range i if array j gt array j 1 array j array j 1 array j 1 array j swapped True print array for j in range i 0 1 if array j lt array j 1 array j array j 1 array j 1 array j swapped True print array if not swapped return array if name main user input raw input Enter numbers Ex 1 0 8 9 n strip array int x for x in user input split print cocktail shaker sort array khwamaetktangcakkarcderiyngaebbfxngsbuepnrupaebbelknxykhxngkarcderiyngfxngsbu mnaetktangcakthiaethnsa phanraykarcakdanlangipdanbncaphanslbcakdanlangkhunbnaelacakbnlnglang samarththaiddikwafxngsbumatrthanelknxy ehtuphlinkarnikhuxkarcderiyngaebbfxngsbuethannphanraykaripinthisthangediywaeladngnncungsamarthyayraykaryxnhlngidthilakhntxnethanntwxyangkhxngraykarthiphisucncudnikhuxraykar 2 3 4 5 1 sungcatxngphankarcderiyngkhxkethlhnungkhrngephuxcderiyng aetthaichkarcderiyngfxngaebberiyngcaknxyipmakcaichewlasi phan xyangirktamkarcderiyngkhxkethlaebbhnungcatxngnbepnaebbfxngsbusxngaebb odythwipaelwkarcderiyngkhxkethlcaerwkwakarcderiyngaebbfxngsbunxykwasxngethakarephimprasiththiphaphxikxyanghnungxacepnidwaxlkxrithumcacataaehnngthiidrbkaraelkepliyncringkhrnglasud inkarthasathdipcaimmikaraelkepliynidthiekinkhid cakd niaelaxlkxrithumcamikarsngphanthisnkwa enuxngcakkarcderiyngekhruxngpnkhxkethlcaekidkhunaebbsxngthisthangchwngkhxngkaraelkepliynthiepnipidsungepnchwngthicathdsxbcaldlngtx pass sungchwyldewlainkarthanganodyrwmelknxykhwamsbsxnkhwamsbsxnkhxngekhruxngpnkhxkethlinsykrn O ihykhux displaystyle O n 2 O n 2 sahrbthngkrnithielwraythisudaelakrnikhaechliy aetmnklayepniklchidkb displaystyle O n O n tharaykarthuksngsuxswnihykxnthicaichxlkxrithumkareriyngladb yktwxyangechnthathukxngkhprakxbxyuintaaehnngthiaetktangcak k k 1 caktaaehnngthimakthisudkcasinsudlngkhwamsbsxnkhxngkareriyngladbkhxkethlklayepn displaystyle O kn displaystyle O kn kareriyngladbekhruxngpnkhxkethlyngklawsn inhnngsuxsilpakarekhiynopraekrmkhxmphiwetxrphrxmkbkarprbaetngfxngaebbkhlay kn srupidwa Knuth idklawthungkareriyngladbfxngaelakarprbprung aetimmikarprbaetngehlaninaipsuxlkxrithumthidikwakaraethrktrng nnkhuxkarcderiyngaebbaethrk aelaeraruxyuaelwwakaraethrktrngimehmaasahrb N khnadihy inrayasnkarcderiyngfxngduehmuxnwaimmixaircaaenanaihichykewnchuxthicbicaelakhwamcringthiwamnnaipsupyhathangthvsdibangxyangthinasnicekhathungcak https th wikipedia org w index php title kareriyngladbaebbkhxkethlechkekxr amp oldid 8197149, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,