自学内容网 自学内容网

【代码笔记】

结构体

/*
 C04.L10.结构体
张其博
2024.9.19
*/
#include<bits/stdc++.h>
using namespace std;
//1.定义
/*
    
struct 结构体名 {  
成员表   //可以有多个成员
成员函数  //可以有多个成员函数,也可以没有
} 结构体变量表; //可以同时定义多个结构体变量
*/
struct jiegouti(){
    int a;
    long long b;
    double c;
    char d;
}t[i];
int main()
{
    //赋值
    //结构体变量.变量名=值;
    t[i].a=1;
    
    //输入
    //cin>>结构体变量.变量名;
    cin>>t[i].a;
    
    //输出
    //cout<<结构体变量.变量名;
    cout<<t[i].a;
    
    
    return 0;
}

映射map

/*
C07.L07.STL之映射
张其博
2024.9.25
*/
#include <iostream>
#include <map>//map头文件
using namespace std;
/*定义map
格式:"map<键值类型,映射值类型> 映射名;"
*/
/*如:*/
map<int,int> a1;
map<char,int> a2;
map<string,int> a3;
map<int,char> b1;
map<char,char> b2;
map<string,char> b3;
int main()
{
    /*赋值*/
    /*格式:"映射名[键值]=映射值;"*/
    a1[123]=123,a2['a']=456,a3["abc"]=789;
    
    /*输入*/
    /*格式:"cin>>映射名[键值];"*/
    cin>>b1[123]>>b2['a']>>b3["abc"];//这里作者输入a,b,c;
    
    /*输出*/
    /*格式:"cout<<映射名[键值];"*/
    cout<<"a1[123]="<<a1[123]<<" a2['a']="<<a2['a']<<" a3["<<"abc"<<"]="<<a3["abc"]<<"\n";
    cout<<"b1[123]="<<b1[123]<<" b2['a']="<<b2['a']<<" b3["<<"abc"<<"]="<<b3["abc"]<<"\n";
    cout<<"————————————————————————————————————\n";
    
    map<string,int>m1;
    m1["aaa"]=123456;
    m1["bbb"]=234567;
    m1["ccc"]=345678;
    /*迭代器*/
    for(auto t=m1.begin();t!=m1.end();t++){
        //begin()是指向map中最小元素的迭代器
        //end()是指向map中最大元素下一个位置的迭代器。
        cout<<"m1["<<t->first<<"]="<<t->second<<"\n";
        //"->first"是键值
        //"->second"是映射值
    }
    cout<<"————————————————————————————————————\n";
    int len=m1.size(); // 元素个数;
    cout<<"m1的元素个数="<<len<<"\n";
    m1.clear(); // 清空m1;
    len=m1.size();
    cout<<"m1的元素个数="<<len<<"\n";
    return 0;
}

STL之栈



/*
C07.L09.STL之栈
张其博
2024.10.10
*/
#include<bits/stdc++.h>
using namespace std;
void tt(string a){
    cout<<"——————————"<<a<<"——————————\n";
}
void ChuangJian() {
    tt("创建");
    //创建格式
    //stack<int/char/string>栈名;
    stack<int>t;
    stack<char>s;
    stack<string>z;
    cout<<"创建格式:\nstack<int/char/string>栈名;\n\n";
}

void JinZhanHeChuZhan() {
    tt("进栈和出栈");
    stack<int>t;
    stack<char>s;
    stack<string>z;
    //进栈格式
    //栈名.push(   );
    t.push(10);
    s.push('a');
    z.push("abc");
    //出栈格式
    //栈名.pop();
    t.pop();
    cout<<"进栈格式:\n栈名.push(   );\n\n出栈格式:\n栈名.pop();\n\n";
}

void PanDuanShiFouWeiKong() {
    tt("判断是否为空");
    stack<int>t;
    stack<char>s;
    t.push(10);
    //判断函数格式
    //栈名.empty();
    //1为空,0为不空
    cout<<"判断函数格式:\n栈名.empty();\n1为空,0为不空\n\n";
    cout<<t.empty()<<" "<<s.empty()<<"\n\n";
    
}

void ChangDu() {
    tt("获取长度");
    
    stack<int>t;
    t.push(10);
    t.push(20);
    t.push(30);
    //判断函数格式
    //栈名.size();
    cout<<"判断函数格式:\n栈名.size();\n\n";
    cout<<"栈t长度为:"<<t.size()<<"\n\n";
}

void BianLi() {
    tt("遍历");
    stack<int>t;
    t.push(10);
    t.push(20);
    t.push(30);
    t.push(1110);
    t.push(13420);
    t.push(31230);
    while(!t.empty()){
        cout<<t.top()<<" ";
        t.pop();
    }
    cout<<"\n\n";
}
int main()
{
    ChuangJian();
    JinZhanHeChuZhan();
    PanDuanShiFouWeiKong();
    ChangDu();
    BianLi();
    
    return 0;
}


原文地址:https://blog.csdn.net/dh3_zhang/article/details/142819068

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!