একটি অ্যারে দেওয়া আছে। এর এলিমেন্টগুলো প্রথম ২টি ক্রমবর্ধমান, পরের ৩টি ক্রমহ্রাসমান, আবার পরের ৪টি ক্রমবর্ধমান — এভাবে অ্যাল্টারনেটভাবে প্রিন্ট করতে হবে।
উদাহরণ: ইনপুট: {1, 4, 0, 2, 7, 9, 3} → সর্টেড: 0 1 2 3 4 7 9
আউটপুট: 0 1 9 7 4 2 3
- অ্যারেটি সর্ট করুন।
- দুটি পয়েন্টার (left=0, right=n-1) এবং ফ্ল্যাগ=২ রাখুন।
- ফ্ল্যাগ জোড় হলে left থেকে ফ্ল্যাগ সংখ্যক এলিমেন্ট প্রিন্ট করুন, left আপডেট করুন।
- ফ্ল্যাগ বিজোড় হলে right থেকে ফ্ল্যাগ সংখ্যক এলিমেন্ট প্রিন্ট করুন, right আপডেট করুন।
- ফ্ল্যাগ ১ বাড়ান, left <= right হওয়া পর্যন্ত চলুন।
#include <bits/stdc++.h>
using namespace std;
void printAlternateSeq(int arr[], int n) {
sort(arr, arr + n);
int left = 0, right = n - 1, flag = 2, i;
while (left <= right) {
if (flag % 2 == 0) {
for (i = left; i < left + flag && i <= right; i++)
cout << arr[i] << " ";
left = i;
} else {
for (i = right; i > right - flag && i >= left; i--)
cout << arr[i] << " ";
right = i;
}
flag++;
}
}
int main() {
int n = 6;
int arr[] = {23, 45, 78, 32, 89, 10};
printAlternateSeq(arr, n);
return 0;
}
10 23 89 78 45 32