マップ STL を使用して生徒の生徒番号と名前を保存する C++ プログラム
学生ボリュームのマップ データ構造があるとします。ボリューム名は整数データ、名前は文字列型データです。標準入力では、n 個のクエリを提供します。各クエリ (行ごと) には 2 つの要素が必要で、タイプ 1 クエリの場合は 3 つの要素が必要です。最初の項目は演算子、2 番目はボリューム、3 番目は名前です。2 要素のクエリの場合、2 番目はボリューム番号です。操作は次のとおりです -
挿入。これにより、削除された対応するボリューム
のマップに名前が挿入されます。これにより、対応するロール番号が存在する場合はマップから削除されます。 ############検索。これにより、名前のロール番号を使用してマップが検索され、名前が存在する場合はその名前が表示され、存在しない場合は表示されません。
したがって、入力が n = 8 のような場合、クエリ = [[1,5,"Atanu"], [1,8,"Tapan"], [ 1 ,3,"Manish"],[2,8],[1,9,"Piyali"], [3,8],[3,3], [3,5]] の場合、出力は [見つかりません] になります。 、マニッシュ、アタヌ] ロール 8 が存在せず、ロール 3 の生徒の名前がマニッシュ、ロール 5 の生徒の名前が「アタヌ」であるためです。
この問題を解決するには、次の手順に従います。
- n がゼロ以外の場合、反復ごとに n を減らして実行します。 li>
- 現在のクエリ タイプを取得します t
- ボリューム番号を取得します
- If t 1 と同じ場合:
- Get the name
- m[roll] := name
- それ以外の場合、t が 2 の場合:
- m[roll ] := 空の文字列
- otherwise
- m[roll] が空の文字列でない場合:
m[roll]を表示します- それ以外の場合は
- 「見つかりません」を表示
-
理解を深めるために、次の実装を見てみましょう -
#include <iostream> #include <map> using namespace std; int main(){ int n; cin >> n; map<int, string> m; while (n--) { int t; cin >> t; int roll; cin >> roll; if (t == 1) { string name; cin >> name; m[roll] = name; } else if (t == 2) { m[roll] = ""; } else { if(m[roll] != "") cout << m[roll] << endl; else cout << "Not found" << endl; } } }
8 1 5 Atanu 1 8 Tapan 1 3 Manish 2 8 1 9 Piyali 3 8 3 3 3 5
Output
Not found Manish Atanu
以上がマップ STL を使用して生徒の生徒番号と名前を保存する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









C言語データ構造:ツリーとグラフのデータ表現は、ノードからなる階層データ構造です。各ノードには、データ要素と子ノードへのポインターが含まれています。バイナリツリーは特別なタイプの木です。各ノードには、最大2つの子ノードがあります。データは、structreenode {intdata; structreenode*left; structreenode*右;}を表します。操作は、ツリートラバーサルツリー(前向き、順序、および後期)を作成します。検索ツリー挿入ノード削除ノードグラフは、要素が頂点であるデータ構造のコレクションであり、近隣を表す右または未照明のデータを持つエッジを介して接続できます。

ファイルの操作の問題に関する真実:ファイルの開きが失敗しました:不十分な権限、間違ったパス、およびファイルが占有されます。データの書き込みが失敗しました:バッファーがいっぱいで、ファイルは書き込みできず、ディスクスペースが不十分です。その他のFAQ:遅いファイルトラバーサル、誤ったテキストファイルエンコード、およびバイナリファイルの読み取りエラー。

記事では、移動セマンティクス、完璧な転送、リソース管理のためのcでのr値参照の効果的な使用について説明し、ベストプラクティスとパフォーマンスの改善を強調しています。(159文字)

C 20の範囲は、表現力、複合性、効率を伴うデータ操作を強化します。複雑な変換を簡素化し、既存のコードベースに統合して、パフォーマンスと保守性を向上させます。

この記事では、不必要なコピーを回避することにより、パフォーマンスを向上させるために、CのMove Semanticsを使用することについて説明します。 STD :: MOVEを使用して、移動コンストラクターと割り当てオペレーターの実装をカバーし、効果的なAPPLの重要なシナリオと落とし穴を識別します

この記事では、Cでの動的発送、そのパフォーマンスコスト、および最適化戦略について説明します。動的ディスパッチがパフォーマンスに影響を与え、静的ディスパッチと比較するシナリオを強調し、パフォーマンスとパフォーマンスのトレードオフを強調します

C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

この記事では、プログラミングにおける自動タイプの控除、コードの冗長性の低下や保守性の向上などの利点、および潜在的な混乱やデバッグの課題などの制限について説明します。
