মনে করুন, আমাদের একটি পূর্ণসংখ্যার অ্যারে দেওয়া আছে (arr)। আমাদের একটি ফাংশন লিখতে হবে যা সব শূন্যগুলো অ্যারের শেষে সরিয়ে দেবে, অ্যারেটি ইন-প্লেস মডিফাই করে।
ফাংশনটি এমনভাবে কাজ করবে যাতে অন্য উপাদানগুলোর আপেক্ষিক ক্রম (relative ordering) অপরিবর্তিত থাকে।
উদাহরণস্বরূপ —
ইনপুট অ্যারে যদি হয় —
const arr = [0, 11, 0, 22, 67];
তাহলে অ্যারেটি হবে —
const output = [11, 22, 67, 0, 0];
উদাহরণ
নিচের কোডটি দেখুন:
const arr = [0, 11, 0, 22, 67];
const moveZeroToEnd = (arr = []) => {
const swap = (array, ind1, ind2) => {
const temp = array[ind1];
array[ind1] = array[ind2];
array[ind2] = temp;
};
let j = 0;
for (let i = 0; i < arr.length; ++ i) {
if (arr[i] !== 0) {
swap(arr, i, j++);
}
}
while (j < arr.length) {
arr[j++] = 0;
};
};
moveZeroToEnd(arr);
console.log(arr);
আউটপুট
কনসোল আউটপুট:
[11, 22, 67, 0, 0]