이 튜토리얼에서는 배열을 지그재그 방식으로 변환하는 프로그램에 대해 설명합니다.
이를 위해 고유한 요소를 포함하는 배열이 제공됩니다. 우리의 임무는 주어진 배열의 요소를 이전 요소와 비교하여 더 큰 요소와 작은 요소를 번갈아 사용하여 지그재그 방식으로 재배열하는 것입니다.
예시
#include <iostream>
using namespace std;
//converting into zig-zag fashion
void convert_zigzag(int arr[], int n) {
//flag denotes the greater or smaller relation
bool flag = true;
for (int i=0; i<=n-2; i++) {
if (flag) {
if (arr[i] > arr[i+1])
swap(arr[i], arr[i+1]);
} else {
if (arr[i] < arr[i+1])
swap(arr[i], arr[i+1]);
}
flag = !flag;
}
}
int main() {
int arr[] = {4, 3, 7, 8, 6, 2, 1};
int n = sizeof(arr)/sizeof(arr[0]);
convert_zigzag(arr, n);
for (int i=0; i<n; i++)
cout << arr[i] << " ";
return 0;
} 출력
3 7 4 8 2 6 1