हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है। फ़ंक्शन को मर्ज सॉर्ट एल्गोरिदम का उपयोग करके सरणी को सॉर्ट करना चाहिए।
मर्ज सॉर्ट करें
मर्ज सॉर्ट दो भागों या प्रक्रियाओं से बना होता है -
- एक पुनरावर्ती भाग जो संग्रह को एकल इकाइयों में विभाजित करता है,
- और फिर एक पुनरावृत्त भाग जो उन्हें सही क्रम में वापस एक साथ जोड़ता है।
उदाहरण
const arr = [23, 4, 67, 32, 1, 7, 56, 5, 89]; const mergeSort = arr => { if (arr.length < 2){ return arr; } const middle = Math.floor(arr.length / 2); const left = arr.slice(0, middle), right = arr.slice(middle, arr.length); return merge(mergeSort(left), mergeSort(right)); }; const merge = (left, right) => { const res = []; while (left.length && right.length) { if (left[0] <= right[0]){ res.push(left.shift()); } else{ res.push(right.shift()); }; } while (left.length){ res.push(left.shift()); }; while (right.length){ res.push(right.shift()); }; return res; }; console.log(mergeSort(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ 1, 4, 5, 7, 23, 32, 56, 67, 89 ]