1.入力と出力
1でなければなりません#include <iostream> using namespace std;
。入力してください:
cin >>变量1;
cin >>变量1>>变量2>>变量n;
2.出力:
cout <<表达式<<endl;
cout <<表达式1<<表达式2<<…<<表达式n;
cout <<endl;//换行;
たとえば、Hello worldの出力:
#include <iostream>
using namespace std;
int main()
{
cout<<"hello world"<<endl;
}
3.文字列
1.クラス名文字列は、次のように文字列変数を定義するために使用されます。
string string1;
strcatを使用して、2.cの文字列を接続します。C++の場合は+です。たとえば、次のとおりです。
string3 = string2 +string1;
3.cは関数strcpyを使用してstring2をstring3に割り当て、c ++は=を直接使用します。
string1 = string2;
4.文字列比較では、>、<、> =、<=、==などの関係演算子を直接使用します。条件を満たしている場合は1を返し、そうでない場合は0を返します
。5. C ++で一般的に使用される文字列関数
機能 | 機能 |
---|---|
追加する | 文字列の最後に文字を追加します |
で | 文字列内の指定された位置にある要素への参照を返します |
c_str | 文字列の内容をCスタイルのヌル終了文字列に変換します |
データ | 文字配列に変換された文字列の内容 |
空の | 文字列に文字が含まれているかどうかをテストする |
消す | 指定された位置文字列から要素または要素の範囲を削除します |
見つける | 指定された文字シーケンスと一致する部分文字列の最初の一致の前方検索文字列 |
find_first_not_of | 指定された文字列要素に一致する最初の文字列を検索します |
find_first_of | 指定された文字列要素に一致する最初の文字列を検索します |
長さ | 文字列の現在の要素数を返します |
2.スタックとキュー
1スタック(後入れ、先出し)
1.ヘッダーファイルが必要#include<stack>
2. スタック:push()
フォーム:s.push(1);
3.スタックアウト:pop()
フォーム:s.pop();
注:スタックアウト操作は値を返しませんでした。
4.スタックの最上位要素へのアクセス:top()
フォーム:cout << s.top()<< endl;
4.空かどうかを判別:empty()
フォーム:cout << s.empty()<< endl;空の場合空でない場合は1を返します。0を返します
。5.スタック内の要素の数を見つけます:size()
形式:cout << s.size()<< endl;
6.スタックの先頭を取得:s.top() ;スタックの一番上に移動して、スタックの一番上の要素に戻ります。
2.キュー
1.優先キューを定義します:priority_queue pq;スタックに似ています
2.キューが空かどうかを判断します:空();
3.ヘッド要素をデキューします:pop();
4.要素を挿入します:push() ;
5.キュー内の要素の数を返します:size();
6.優先キューの最上位の要素を返します:top();
#include<bits/stdc++.h>
#include<stack>
#include<queue>
using namespace std;
int main() {
stack<int>s; //定义栈
queue<int>q; //定义队
}
簡単なアプリケーション:
[例] 10進数を2進数に変換します。
答え:2を押して残りを取得します。
分析:最初に取得された剰余は変換結果の最下位ビットであり、最後に取得された剰余は変換結果の最上位ビットであるため、スタックで解決されます。
#include<bits/stdc++.h>
#include <STACK>
using namespace std;
void conversion(int N)
{
stack<int> S;
while(N)
{
S.push(N%2);
N=N/2;
}
while(!S.empty())
{
printf("%d",S.top());
S.pop();
}
}
int main()
{
cin>>n;
fun(n,2);
}