ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมแปลงอาร์เรย์เป็นแฟชั่นซิกแซก
สำหรับสิ่งนี้ เราจะได้รับอาร์เรย์ที่มีองค์ประกอบที่แตกต่างกัน งานของเราคือจัดเรียงองค์ประกอบของอาร์เรย์ที่กำหนดใหม่ในลักษณะซิกแซกด้วยองค์ประกอบที่มากขึ้นและเล็กลงหรือเปรียบเทียบกับองค์ประกอบก่อนหน้า
ตัวอย่าง
#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