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