C++程式:計算陣列的位元數
給定一個整數陣列,任務是使用函式計算給定陣列的位元數。
陣列的位元數是指:
- 初始化為0
- 當下一個元素大於前一個值時遞增1
- 當下一個元素小於前一個值時遞減1
示例
Input-: arr[] = { 1,4,3,5,2,9,10,11}
Output-: Bitonicity of an array is : 3解釋:
- 將位元數計算變數(例如temp)初始化為0。
- 從陣列的第一個元素1開始。現在比較arr[i]和arr[i-1],即比較4和1,這裡4大於1,因此將temp遞增1。類似地,比較4和3,由於3小於4,因此將temp的值遞減。
- 列印temp的最終值,即3
下面程式中使用的方法如下:
- 遍歷陣列的所有元素,例如arr[n],其中n是陣列的大小
- 如果arr[i] > arr[i-1],則位元數 = 位元數 + 1
- 如果arr[i] < arr[i-1],則位元數 = 位元數 – 1
- 如果arr[i] = arr[i-1],則位元數 = 位元數(不變)
演算法
Start
Step 1-> Declare function to calculate bitonicity of an array
int cal_bitonicity(int arr[], int n)
set int temp = 0
Loop For int i = 1 and i < n and i++
IF (arr[i] > arr[i - 1])
Increment temp++
End
Else IF (arr[i] < arr[i - 1])
Decrement temp—
End
return temp
step 2-> In main()
declare int arr[] = { 1,4,3,5,2,9,10,11}
set int n = sizeof(arr) / sizeof(arr[0])
Call cal_bitonicity(arr, n)
Stop示例
#include <iostream>
using namespace std;
// calculate bitonicity
int cal_bitonicity(int arr[], int n) {
int temp = 0;
for (int i = 1; i < n; i++) {
if (arr[i] > arr[i - 1])
temp++;
else if (arr[i] < arr[i - 1])
temp--;
}
return temp;
}
int main() {
int arr[] = { 1,4,3,5,2,9,10,11};
int n = sizeof(arr) / sizeof(arr[0]);
cout<<"Bitonicity of an array is : " <<cal_bitonicity(arr, n);
return 0;
}輸出
如果我們執行上述程式碼,它將生成以下輸出:
Bitonicity of an array is : 3
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP