जब शेल सॉर्ट को लागू करने की आवश्यकता होती है, तो एक फ़ंक्शन परिभाषित किया जाता है, और यह एक सूची और सूची की लंबाई को तर्क के रूप में लेता है। यह सूची तत्वों की एक विशिष्ट संख्या तक क्रमबद्ध है, जिसमें तत्वों की संख्या सबसे बड़ा मान है। यह तब तक किया जाता है जब तक कि तत्वों की संख्या का मान सबसे छोटा न हो।
यह सूची में सभी उप-सूचियों के लिए किया जाता है, और इन सभी उप-सूचियों को क्रमबद्ध किया जाता है।
एक सूची का उपयोग विषम मूल्यों को संग्रहीत करने के लिए किया जा सकता है (अर्थात किसी भी डेटा प्रकार का डेटा जैसे पूर्णांक, फ़्लोटिंग पॉइंट, स्ट्रिंग्स, और इसी तरह)।
नीचे उसी का एक प्रदर्शन है -
उदाहरण
def shell_sort(my_list, list_len): interval = list_len // 2 while interval > 0: for i in range(interval, list_len): temp = my_list[i] j = i while j >= interval and my_list[j - interval] > temp: my_list[j] = my_list[j - interval] j -= interval my_list[j] = temp interval //= 2 my_list = [ 45, 31, 62, 12, 89, 5, 9, 8] list_len = len(my_list) print ("The list before sorting is :") print(my_list) shell_sort(my_list, list_len) print ("\nThe list after performing shell sorting is :") print(my_list)
आउटपुट
The list before sorting is : [45, 31, 62, 12, 89, 5, 9, 8] The list after performing shell sorting is : [5, 8, 9, 12, 31, 45, 62, 89]
स्पष्टीकरण
- 'shell_sort' नाम की एक विधि परिभाषित की गई है, जो सूची और सूची की लंबाई को तर्क के रूप में लेती है।
- 'अंतराल' चर को '//' बिटवाइज़ ऑपरेटर का उपयोग करके परिभाषित किया गया है।
- यह फर्श का विभाजन करता है।
- यह मान को निकटतम पूर्ण संख्या में पूर्णांकित करता है।
- सूची को पुनरावृत्त किया जाता है, और एक अस्थायी चर बनाया जाता है।
- 'अंतराल' चर की तुलना सूची के प्रत्येक सूचकांक से की जाती है, और सूची के प्रत्येक तत्व की तुलना अस्थायी चर से की जाती है।
- 'अंतराल' चर का उपयोग फिर से फर्श विभाजन करने के लिए किया जाता है।
- सूची परिभाषित है, और कंसोल पर प्रदर्शित होती है।
- इस सूची और इसकी लंबाई को पास करके विधि कहा जाता है।
- आउटपुट कंसोल पर प्रदर्शित होता है।