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

シーケンスに対して特定の操作を実行するC++


空のシーケンスと、処理する必要のあるn個のクエリが与えられたとします。クエリは配列クエリで指定され、{query、data}の形式になっています。クエリには、次の3つのタイプがあります-

  • query =1:提供されたデータをシーケンスの最後に追加します。

  • query =2:シーケンスの先頭にある要素を出力します。その後、要素を削除します。

  • query =3:シーケンスを昇順で並べ替えます。

クエリタイプ2と3は常にデータ=0であることに注意してください。

したがって、入力がn =9の場合、クエリ={{1、5}、{1、4}、{1、3}、{1、2}、{1、1}、{2、0}、 {3、0}、{2、0}、{3、0}}の場合、出力は5と1になります。

各クエリの後のシーケンスを以下に示します-

  • 1:{5}
  • 2:{5、4}
  • 3:{5、4、3}
  • 4:{5、4、3、2}
  • 5:{5、4、3、2、1}
  • 6:{4、3、2、1}、5を印刷します。
  • 7:{1、2、3、4}
  • 8:{2、3、4}、1を印刷します。
  • 9:{2、3、4}

これを解決するには、次の手順に従います-

 priority_queue priq1つのキューを定義しますqforinitialize i:=0、i 

理解を深めるために、次の実装を見てみましょう-

 #include usingnamespace std; void solution(int n、vector >クエリ){priority_queue  priq; queue  q; for(int i =0; i >クエリ={{1、5}、{1、4}、{1、3}、{1、2}、{1、1}、{1、0}、{3 、0}、{2、0}、{3、0}};解決(n、クエリ); 0を返す;}

入力

 9、{1、5}、{1、4}、{1、3}、{1、2}、{1、1}、{2、0}、{3、0}、{2 、0}、{3、0}} 

出力

 51 

  1. 複素数の乗算を実行するC++プログラム

    複素数は、a + biとして表される数です。ここで、iは虚数、aとbは実数です。複素数の例は次のとおりです- 2+3i 5+9i 4+2i 複素数の乗算を実行するプログラムは次のとおりです- 例 #include<iostream> using namespace std; int main(){    int x1, y1, x2, y2, x3, y3;    cout<<"Enter the first complex number : "<<endl;    cin&g

  2. 行列乗算を実行するC++プログラム

    行列は、行と列の形式で配置された長方形の数値配列です。 マトリックスの例は次のとおりです。 以下に示すように、3*2マトリックスには3行2列があります- 8 1 4 9 5 6 行列の乗算を実行するプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() {    int product[10][10], r1=3, c1=3, r2=3, c2=3, i, j, k;    int a[3][3] = { {2, 4, 1} , {2, 3, 9} , {3