程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++學習筆記(3)

C++學習筆記(3)

編輯:關於C++

cpp學習筆記(三)

16章 標准模板庫簡介
17章 STL string類
18章 STL動態數組類
19章 STL list
20章 STL set於multiset
21章 STL map和multimap

16章 標准模板庫簡介
存儲信息的容器
訪問容器存儲的信息的迭代器
操作容器內容的算法

17章 STL string類
為何需要字符串操作類
使用STL string類
基於模板的STL string實現

18章 STL動態數組類
vector的特點
典型的vector的操作
理解大小和容量
STL deque

19章 STL list
std::list的特點
基本的list操作

20章 STL set於multiset
set和multiset簡介
set和multiset基本操作
set和multiset容器的優缺點

21章 STL map和multimap
STL map和multimap簡介
STL map和multimap的基本操作
使用排序謂詞定制排序行為

//
//  main.cpp
//  stl_16_21
//
//  Created by bikang on 16/9/28.
//  Copyright (c) 2016年 bikang. All rights reserved.
//

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include

using namespace std;

void tChapter16();
void tChapter17String();
void tChapter18Vector();
void tChapter19List();
bool sortFunc(const int& a1,const int& a2);
void tChapter20Set();
void tChapter21Mul();


int main(int argc, const char * argv[]) {
    //tChapter16();
    //tChapter17String();
    //tChapter18Vector();
    //tChapter19List();
    //tChapter20Set();
    tChapter21Mul();
    return 0;
}
void tChapter21Mul(){

    map map1;
    //insert
    map1.insert(map::value_type(1,"a"));
    map1.insert(make_pair(2, "b"));
    map1.insert(pair(4, "belly"));

    cout << map1[1]<::iterator itemt1;
    itemt1 = map1.find(4);
    if(itemt1 != map1.end()){
        cout << itemt1->first<<"="<second<::iterator item= map1.begin();
    while(item != map1.end()){
        //cout << *item <<",";
        cout << item->first<<"="<second<<",";
        ++item;
    }
    cout < umap1;
    umap1.insert(map::value_type(1,"a"));
    umap1.insert(make_pair(2, "b"));
    umap1.insert(make_pair(2, "b1"));
    umap1.insert(pair(4, "belly"));



    multimap::const_iterator itemt3;
    itemt3 = umap1.find(2);
    if(itemt3 != umap1.end()){
        cout <<"find##" << itemt3->first<<"="<second<::const_iterator item2= umap1.begin();
    while(item2 != umap1.end()){
        //cout << *item <<",";
        cout << item2->first<<"="<second<<",";
        ++item2;
    }

    cout <s1;
    s1.insert(11);
    s1.insert(11);
    s1.insert(21);

    set::iterator s1t;
    for (s1t=s1.begin(); s1t!=s1.end(); ++s1t) {
        cout << *s1t<<",";
    }
    cout << endl;
    //find
    set::iterator ielem = s1.find(21);
    if(ielem != s1.end()){
        cout << *ielem<ms1;
    ms1.insert(11);
    ms1.insert(11);
    ms1.insert(21);
    multiset::iterator ms1t;
    for (ms1t=ms1.begin(); ms1t!=ms1.end(); ++ms1t) {
        cout << *ms1t<<",";
    }


    return;
}
void tChapter19List(){

    list list1;
    list1.push_front(1);
    list1.push_front(3);
    list1.push_front(2);
    list1.push_front(5);
    list1.push_back(21);
    list1.insert(list1.begin(),3,1);
    //反轉
    list1.reverse();
    //list1.sort();
    list1.sort(sortFunc);


    list::iterator ilist1;
    for (ilist1=list1.begin(); ilist1!=list1.end(); ++ilist1) {
        cout << *ilist1<<",";
    }
    cout << endl;


    return;
}
bool sortFunc(const int& a1,const int& a2){
    //return (a1 > a2);
    return (a1 < a2);
}
void tChapter18Vector(){
    //固定大小的數據
    vector vec1;
    vector vec2(10);
    vector vec3(10,90);
    vector vec4(vec2);
    vector vec5(vec2.begin(),vec2.begin()+5);
    //插入
    vec1.push_back(1);
    vec1.push_back(3);
    vec1.push_back(2);

    vec1.insert(vec1.begin(), 32);
    vec1.insert(vec1.end(), 2, 33);
    //刪除
    vec1.pop_back();

    vector::iterator elem;
    for (elem=vec1.begin(); elem de1;
    de1.push_back(1);
    de1.push_front(2);
    de1.push_back(3);

    return;
}

void tChapter17String(){
    //string 把我們從繁雜的字符串操作中解放出來
    //復制,連接,查找字符和子字符串,截短
    //使用標准模板提供的算法實現字符串反轉和大小轉換
    const char *msg =" hello="" cpp";="" string="" str1(msg);="" str2(str1,6);="" str3(10,'a');="" str1="" "," vet1;
    vet1.push_back(21);
    vet1.push_back(2);
    vet1.push_back(8);
    vet1.push_back(5);

    vector::iterator item = vet1.begin();
    while(item != vet1.end()){
        cout << *item << ",";
        ++item;
    }
    cout << endl;

    vector::iterator ielem = find(vet1.begin(), vet1.end(), 8);
    if(ielem != vet1.end()){
        int nPosition = static_cast(distance(vet1.begin(), ielem));
        cout << "value=" << *ielem;
        cout << "find data in "<< nPosition;
    }
    return;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved