用 C++ 轉換陣列為鋸齒狀
在本教程中,我們將討論將陣列轉換成鋸齒狀的程式。
為此,我們將得到一個包含不同元素的陣列。我們的任務是用與前一個元素交替出現的方式,重新排列給定陣列的元素,其中元素大小交替出現。
示例
#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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP