C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でのオペランドの評価順序


プログラミングには、操作の実行方法を管理するいくつかのルールがあります。

操作の評価の順序と操作の関連性(左から右に定義されます)。

オペランドの評価順序を表示するプログラムです

#include <iostream>
using namespace std;
int x = 2;

int changeVal() {
   x *= x;
   return x;
}

int main() {
   
   int p = changeVal() + changeVal();
   cout<<"Value: "<<x<<endl;
   cout<<"Operation result: "<<p<<endl;
   return 0;
}

出力-

Value: 16
Operation result: 20

  1. C++での二分木垂直順序走査

    二分木があるとすると、そのノードの値の垂直方向の走査を見つける必要があります。 2つのノードが同じ行と列にある場合、順序は左から右になります。 したがって、入力が次のような場合、 その場合、出力は[[9]、[3,15]、[20]、[7]]になります。 これを解決するには、次の手順に従います- 1つのマップを定義するm 関数solve()を定義します。これはノードを取り、xは0で初期化します ノードがnullの場合、- 戻る 解決(ノードの左側、x-1) 解決(ノードの右側、x + 1) m [x]の最後にノードの値を挿入します メ

  2. C++でのN-aryツリーレベルの順序トラバーサル

    n-aryツリーがあるとすると、そのノードの値のレベル順トラバーサルを返す必要があります。 Nary-Tree入力のシリアル化は、レベル順の走査で表されます。ここでは、子の各グループがnull値で区切られています(例を参照)。したがって、次のツリーは[1、null、3,2,4、null、5,6]として表すことができます。 出力は[[1]、[3,2,4]、[5,6]]になります これを解決するには、次の手順に従います- 1つの行列を作成します ルートがnullの場合、ansを返します 1つのキューをqにして、ルートを挿入します qが空ではない間 si