Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình chuyển đổi một mảng thành kiểu zig-zag.
Đối với điều này, chúng tôi sẽ được cung cấp một mảng chứa các phần tử riêng biệt. Nhiệm vụ của chúng ta là sắp xếp lại các phần tử của mảng đã cho theo kiểu zig zag với các phần tử lớn hơn và nhỏ hơn so với phần tử trước đó.
Ví dụ
#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; }
Đầu ra
3 7 4 8 2 6 1