एक सरणी और सरणी की सीमा को देखते हुए [स्टार्टवल, एंडवल]। ऐरे को तीन भागों से विभाजित किया जाता है।
- प्रारंभ से छोटे सभी तत्व पहले आते हैं।
- शुरुआत से अंत तक की श्रेणी के सभी तत्व आगे आते हैं।
- अंतिम से बड़े सभी तत्व अंत में दिखाई देते हैं।
उदाहरण
Input: A = [1, 14, 51, 12, 4, 2, 54, 20, 87, 98, 3, 1, 32] startval = 14, endval = 54 Output: A = [1, 12, 4, 2, 3, 1, 14, 51, 20, 32,54, 87, 98]
एल्गोरिदम
Step1: First the list is divided into three parts, first part will contain elements less than startval, second part will contain elements between startval and endval and third part will contain elements greater than endval. Step2: Concatenate all three parts together.
उदाहरण कोड
def partition_array(input, lowVal, highVal): # Separate input list in three parts my_first = [ num for num in input if num<lowVal ] my_second = [ num for num in input if (num>=lowVal and num<=highVal) ] my_third = [ num for num in input if num>highVal ] # concatenate all three parts print(my_first + my_second + my_third) # Driver program if __name__ == "__main__": my_input = [10, 140, 50, 200, 40, 20, 540, 200, 870, 980, 30, 10, 320] my_lowVal = 140 my_highVal = 200 partition_array(my_input, my_lowVal, my_highVal)
आउटपुट
[10, 50, 40, 20, 30, 10, 140, 200, 200, 540, 870, 980, 320]