设为首页 加入收藏

TOP

C++学习笔记(3)
2016-10-10 18:31:45 】 浏览:510
Tags:学习 笔记

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; } 
                                        
                                       
                                      
                                     
                                    
                                   
                                  
                                 
                                
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
                 
                
               
              
             
            
           
          
        
       
      
     
    
   
  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++流概述 下一篇C/C++的8种排序算法及实现

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目