• STL


    http://www.cplusplus.com/reference/stl/

    http://net.pku.edu.cn/~yhf/UsingSTL.htm

    #include<set>

    View Code
     1 #include<iostream>
     2 #include<set>
     3 using namespace std;
     4 int main()
     5 {
     6     int i,j,n,a;
     7     cin>> n;
     8     set <int> h;//定义一个h 
     9     for(i = 1 ;i <= n ; i++)
    10     {
    11         cin >> a;
    12         h.insert(a);
    13     }
    14     set <int>::iterator it;//定义一个it指针
    15     for(it = h.begin(); it!=h.end() ; it++)
    16     {
    17         cout<<*it<<endl;//输出数的位置
    18     }
    19     if(h.find(3)!=h.end())
    20         cout<<"3 is in set h"<<endl;
    21     else
    22         cout<<"no,not exist"<<endl;
    23     return 0;
    24 }

     #include<map> 映射函数

    map 相当于一个哈希函数,一个键值唯一对应另一个建值 。其内部实现和set采用的是同一数据结构 红黑树,所以插入删除操作的复杂度为log(n).

     http://blog.sina.com.cn/s/blog_7ef869630100slba.html

    View Code
     1 #include<iostream>
     2 #include<string>
     3 #include<map>
     4 #include<algorithm>
     5 #include<utility>
     6 using namespace std;
     7 int main()
     8 {
     9     int i,j,a = 0,n;
    10     map<string, int > f;//定义一个字符串与整数的映射
    11     string str;
    12     cin>>n;
    13     for(i = 0 ; i < n ; i++)
    14     {
    15         cin>>str;
    16         f[str] = a++;
    17     }
    18     for(i= 0 ;i < 3 ; i++)
    19     {
    20         cin>>str;
    21         cout<<f[str]<<endl;//输出字符串的映射
    22     }
    23     f.insert(make_pair(string ("abc"),int (123)));
    24     cout<<f["abc"]<<endl;
    25     return 0;
    26 }

     http://poj.org/problem?id=3096

    View Code
     1 #include<iostream>
     2 #include<cstring>
     3 #include<string.h>
     4 #include <cstdio>
     5 #include<map>
     6 using namespace std;
     7 map <string,int> f;
     8 int main()
     9 {
    10     int i,j,k;
    11     char str[80],c[80];
    12     while(cin>>str)
    13     {
    14         int flag = 1;
    15         if(str[0]=='*')
    16         break;
    17         for(i = 1 ; i < strlen(str)-1 ; i++)
    18         {
    19             int g = 0;
    20             f.clear();
    21             for(j = 0 ; j < strlen(str) ; j++)
    22             {
    23                 if(i+j<strlen(str))
    24                 {
    25                     c[0] = str[j];
    26                     c[1] = str[i+j];
    27                     c[2] = '\0';
    28                     if(f[c])
    29                     {
    30                         flag = 0;
    31                         break;
    32                     }
    33                     else
    34                     f[c] = 1;
    35                 }
    36             }
    37             if(!flag)
    38                 break;
    39         }
    40         if(flag)
    41             cout<<str<<" is surprising."<<endl;
    42         else
    43             cout<<str<<" is NOT surprising."<<endl;
    44     }
    45     return 0;
    46 }

     #include<algorithm> sort函数

    View Code
     1 #include<iostream>
     2 #include<algorithm>
     3 using namespace std;
     4 bool cmp(int a,int b)
     5 {
     6     return a>b;
     7 }
     8 int main()
     9 {
    10     int n,i,j,a[10];
    11     cin >> n;
    12     for(i = 0 ; i < n ; i++)
    13         cin >> a[i];
    14     sort(a, a+n);//默认由小到大排
    15     for(i = 0 ; i < n ; i++)
    16         cout<<a[i]<<endl;
    17     sort(a,a+n,cmp);//可以自己定义排序方式
    18     for(i = 0 ; i < n ; i++)
    19         cout<<a[i]<<endl;
    20     sort(a+3,a+n);//可以对一段进行排序
    21     for(i = 0 ; i < n ; i++)
    22         cout<<a[i]<<endl;
    23     return 0;
    24 }

     #include<stack>

    View Code
     1 #include<iostream>
     2 #include<stack>
     3 using namespace std;
     4 int main()
     5 {
     6     int n,i,j,x;
     7     stack <int> st;
     8     cin>>n;
     9     for(i = 1 ; i <= n ; i++)
    10     {
    11         cin>>x;
    12         st.push(x);
    13     }
    14     while(!st.empty())
    15     {
    16         x = st.top();
    17         st.pop();
    18         cout<< x <<endl;
    19     }
    20     return 0;
    21 }
    View Code
      1 #include <iostream>
      2 #include<cstdio>
      3 #include<string.h>
      4 #include<map>
      5 using namespace std;
      6 char buf[10000];
      7 int main()
      8 {
      9     int n,i[10],j,b[13],no[13],f;
     10     char c[10][4],s[13];
     11     c[2][1] = 'A';
     12     c[2][2] = 'B';
     13     c[2][3] = 'C';
     14     c[3][1] = 'D';
     15     c[3][2] = 'E';
     16     c[3][3] = 'F';
     17     c[4][1] = 'G';
     18     c[4][2] = 'H';
     19     c[4][3] = 'I';
     20     c[5][1] = 'J';
     21     c[5][2] = 'K';
     22     c[5][3] = 'L';
     23     c[6][1] = 'M';
     24     c[6][2] = 'N';
     25     c[6][3] = 'O';
     26     c[7][1] = 'P';
     27     c[7][2] = 'R';
     28     c[7][3] = 'S';
     29     c[8][1] = 'T';
     30     c[8][2] = 'U';
     31     c[8][3] = 'V';
     32     c[9][1] = 'W';
     33     c[9][2] = 'X';
     34     c[9][3] = 'Y';
     35     scanf("%d",&n);
     36     int k = 0;
     37     while(n)
     38     {
     39         b[k++] = n%10;
     40         n = n/10;
     41     }
     42     if(k==1)
     43     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
     44     {
     45         for(f = 0 ; f <= k-1 ; f++)
     46         s[k-1-f] = c[b[f]][i[f]];
     47         s[k] = '\0';
     48         while(fgets(buf, 100000, fp) != NULL)
     49         {
     50            char * p = strstr(buf, s);
     51            if(p=NULL)
     52            puts(s);
     53         }
     54     }
     55     if(k==2)
     56     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
     57     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
     58     {
     59         for(f = 0 ; f <= k-1 ; f++)
     60         s[k-1-f] = c[b[f]][i[f]];
     61         s[k] = '\0';
     62     }
     63     if(k==3)
     64     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
     65     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
     66     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
     67     {
     68         for(f = 0 ; f <= k-1 ; f++)
     69         s[k-1-f] = c[b[f]][i[f]];
     70         s[k] = '\0';
     71     }
     72     if(k==4)
     73     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
     74     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
     75     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
     76     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
     77     {
     78         for(f = 0 ; f <= k-1 ; f++)
     79         s[k-1-f] = c[b[f]][i[f]];
     80         s[k] = '\0';
     81         while(fgets(buf,10000,fp)!= NULL)
     82         {
     83            char *p = strstr(buf, s);
     84            if(p!=NULL)
     85            puts(s);
     86         }
     87     }
     88     if(k==5)
     89     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
     90     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
     91     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
     92     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
     93     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
     94     {
     95         for(f = 0 ; f <= k-1 ; f++)
     96         s[k-1-f] = c[b[f]][i[f]];
     97         s[k] = '\0';
     98     }
     99     if(k==6)
    100     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    101     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    102     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    103     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    104     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    105     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    106     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    107     {
    108         for(f = k-1 ; f >=0 ; f--)
    109         s[k-1-f] = c[b[f]][i[f]];
    110         s[k] = '\0';
    111         puts(s);
    112     }
    113     if(k==7)
    114     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    115     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    116     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    117     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    118     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    119     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    120     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    121     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    122     {
    123         for(f = k-1 ; f >=0 ; f--)
    124         s[k-1-f] = c[b[f]][i[f]];
    125         s[k] = '\0';
    126         puts(s);
    127     }
    128     if(k==8)
    129     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    130     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    131     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    132     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    133     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    134     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    135     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    136     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    137     {
    138         for(f = k-1 ; f >=0 ; f--)
    139         s[k-1-f] = c[b[f]][i[f]];
    140         s[k] = '\0';
    141         puts(s);
    142     }
    143     if(k==9)
    144     for(i[8]= 1 ; i[8] <= 3 ; i[8]++)
    145     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    146     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    147     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    148     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    149     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    150     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    151     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    152     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    153     {
    154         for(f = k-1 ; f >=0 ; f--)
    155         s[k-1-f] = c[b[f]][i[f]];
    156         s[k] = '\0';
    157         puts(s);
    158     }
    159     if(k==10)
    160     for(i[9]= 1 ; i[9] <= 3 ; i[9]++)
    161     for(i[8]= 1 ; i[8] <= 3 ; i[8]++)
    162     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    163     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    164     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    165     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    166     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    167     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    168     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    169     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    170     {
    171         for(f = k-1 ; f >=0 ; f--)
    172         s[k-1-f] = c[b[f]][i[f]];
    173         s[k] = '\0';
    174         puts(s);
    175     }
    176     if(k==11)
    177     for(i[10]= 1 ; i[10] <= 3 ; i[10]++)
    178     for(i[9]= 1 ; i[9] <= 3 ; i[9]++)
    179     for(i[8]= 1 ; i[8] <= 3 ; i[8]++)
    180     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    181     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    182     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    183     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    184     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    185     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    186     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    187     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    188     {
    189         for(f = k-1 ; f >=0 ; f--)
    190         s[k-1-f] = c[b[f]][i[f]];
    191         s[k] = '\0';
    192         puts(s);
    193     }
    194     if(k==12)
    195     for(i[11]= 1 ; i[11] <= 3 ; i[11]++)
    196     for(i[10]= 1 ; i[10] <= 3 ; i[10]++)
    197     for(i[9]= 1 ; i[9] <= 3 ; i[9]++)
    198     for(i[8]= 1 ; i[8] <= 3 ; i[8]++)
    199     for(i[7]= 1 ; i[7] <= 3 ; i[7]++)
    200     for(i[6]= 1 ; i[6] <= 3 ; i[6]++)
    201     for(i[5]= 1 ; i[5] <= 3 ; i[5]++)
    202     for(i[4]= 1 ; i[4] <= 3 ; i[4]++)
    203     for(i[3]= 1 ; i[3] <= 3 ; i[3]++)
    204     for(i[2]= 1 ; i[2] <= 3 ; i[2]++)
    205     for(i[1]= 1 ; i[1] <= 3 ; i[1]++)
    206     for(i[0]= 1 ; i[0] <= 3 ; i[0]++)
    207     {
    208         for(f = k-1 ; f >=0 ; f--)
    209         s[k-1-f] = c[b[f]][i[f]];
    210         s[k] = '\0';
    211         puts(s);
    212     }
    213     return 0;
    214 }
  • 相关阅读:
    Javascript 对象(object)合并 转
    数据库连接池设置
    约瑟夫问题
    链表中环入口节点
    Spring整合Mybatis
    Spring中事务管理
    Spring中对象和属性的注入方式
    把数组排成最小的数
    Spring之IOC
    Spring之AOP
  • 原文地址:https://www.cnblogs.com/shangyu/p/2604486.html
Copyright © 2020-2023  润新知