erase : 특정 부분의 원소를 삭제
insert : 특정 부분에 원소를 추가
erase, insert 작업후 vector는 알아서 정렬이 된다..

/* eraseinsert.cpp */

#include <iostream>

#include <vector>

using namespace std;

 

int main()

{

        vector<int> a;

        for(int i=0; i<10; i++)

               a.push_back(i);

        a.pop_back();

        vector<int>::iterator it;

        for(it=a.begin(); it!=a.end(); it++)

               cout << *it << "\t";

        cout << endl;

        it=a.begin()+3;

        a.erase(it);

        for(int i=0; i<a.size(); i++)

               cout << a.at(i) << "\t";

        a.insert(a.begin()+3, 19);

        cout << endl;

        for(int i=0; i<a.size(); i++)

               cout << a.at(i) << "\t";

        cout << endl;

        return 0;

}

 

 

--------실행결과--------
0 1 2 3 4 5 6 7 8
0 1 2 4 5 6 7 8
0 1 2 19 4 5 6 7 8 


신고

'Language > C++ STL' 카테고리의 다른 글

vector erase, insert  (0) 2012.03.24
map  (0) 2012.03.24
set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
Member function 
- begin, end, empty, insert, erase,
Find, size, clear

형식 : map<key, value> mp;


/*
주어진 한 줄의 문자열을 map을 사용하여
오름차순으로 A~Z까지 몇 번 나왔는지 출력
<in>
“ABABAZCDEBOOZQRSSRRR”
<out>
A : 3     D : 1     Q : 1     Z : 2
B : 3     E : 1      R : 4
C : 1     O : 2     S : 2
*/
 

#include <iostream>

#include <map>

#include <string>

using namespace std;

int main()

{

        string s;

        map<char, int> mp;

        map<char, int>::iterator it;

        cin>>s;

        for(int i = 0 ; i<s.length(); i++)

        {

               if(mp.find(s[i]) != mp.end())

                       mp[s[i]]++;

               else

                       mp[s[i]];

        }

        for(it = mp.begin(); it!= mp.end(); it++)

        {

               printf("%c : %d\n", it->first, (it->second)+1);

        }

        mp.clear();

}

 


신고

'Language > C++ STL' 카테고리의 다른 글

vector erase, insert  (0) 2012.03.24
map  (0) 2012.03.24
set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24

/*
주어진 한 줄의 문자열을 set을 이용하여 
서로 다른 문자가 몇 개가 나왔는지 출력
<in>
“ABABAZCDEBOOQRSSRRR”
<out>
                  10
 */
 

#include <iostream>

#include <set>

#include <string>

using namespace std;

int main()

{

        string s;

        set<char> st;

        cin>>s;

        for(int i = 0 ; i<s.length(); i++)

               st.insert(s[i]);

        cout << st.size() <<endl;

        st.clear(); // st clear

}

 


신고

'Language > C++ STL' 카테고리의 다른 글

vector erase, insert  (0) 2012.03.24
map  (0) 2012.03.24
set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24

#include <vector>

#include <iostream>

using namespace std;

void main( )

        vector<int> v1, v2, v3;

        vector<int>::iterator iter;

        v1.push_back(10);

        v1.push_back(20);

        v1.push_back(30);

        v1.push_back(40);

        v1.push_back(50);

        cout << "v1 = " ;

        for (iter = v1.begin(); iter != v1.end(); iter++)

               cout << *iter << " ";

        cout << endl;

        v2.assign(v1.begin(), v1.end()); // 할당

        cout << "v2 = ";

        for (iter = v2.begin(); iter != v2.end(); iter++)

               cout << *iter << " ";

        cout << endl;

        v3.assign(7, 4); // 벡터의 크기, 원소의

        cout << "v3 = ";

        for (iter = v3.begin(); iter != v3.end(); iter++)

               cout << *iter << " ";

        cout << endl;

}

 


신고

'Language > C++ STL' 카테고리의 다른 글

map  (0) 2012.03.24
set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
String Process  (0) 2012.03.24
 
Vector – 동적 배열이라고 보시면 되겠습니다. 길이가 늘어났다 줄어났다 유동성이 있고 아무쪼록 배열의 확장판?? 이라고 보시면 되겠네요..

Vector의 장점
- 벡터는 값의 추가나 삭제가 배열보다 자유롭습니다.
- 벡터가 가지는 값들의 개수를 알 수 있습니다.
- 벡터가 가져야할 요소의 개수를 선언할 필요가 없습니다.
 
ex)  vector<int> v;
       vector<int>::iterator it;
       int tmp;
       cin>>tmp;
       v.push_back(tmp); // 삽입

 ex)  for(int i = 0 ; i < v.size(); i++) // vector의 원소들을 출력하는 과정
cout << v[i] << endl;
        for(it = v.begin(); it != v.end(); it++)
cout<< *it << endl;
 
vector가 제공해주는 함수들(대표적인 것들....)


#include<vector>
#include<iostream>
using namespace std;

void main()
{
vector<int>v
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
cout<<"v[]=" ;
// using[] 
for(int i=0; i<v.size(); i++)
{
cout<<v[i];
}
cout<<endl;

//iterator
vector<int>::const_iterator v_iter;
cout<<"*v=" ;
for(v_iter=v.begin(); v_iter != v.end(); v_iter++)
{
cout<<*v_iter ;
}
}
//////////////////결과값/////////////////////////////
//10 20 30 40
//10 20 30 40
신고

'Language > C++ STL' 카테고리의 다른 글

set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
String Process  (0) 2012.03.24
sstream  (0) 2012.03.24

  abs()       -  absolute value 
  floor()      -  largest integer, not greater than
  ceil()       -  smallest integer, no less than
  sin() asin()   -   -π/2 ~ π/2
  cos() acos()  -   0 ~ π
  tan() atan()     
  tan2(y,x)      -   -π ~ π

  log()        -  natural (base e) logarithm
  log10()     -  base 10 logarithm
  pow()       - base raised to the expth power
  sqrt()       -  the square root 
   
    ex)  pow((double)5, (double)3)
          = 5^3 = 125

신고

'Language > C++ STL' 카테고리의 다른 글

set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
String Process  (0) 2012.03.24
sstream  (0) 2012.03.24

                    <C Base>

bool isalpha(char)     - alphabet ?   
bool isalnum(char)    - alphabet or number ?
bool isupper(char)    - capital letter ?
bool islower(char)     - small letter ?
char toupper(char)    - change to capital letter
char tolower(char)     - change to small letter      

 
int atoi(char [])
float atof(char [])
int itoa(int, char [], int radix)
int _itoa(int, char [], int radix)
int _itoa_s(int, char [], size_t bufsize, int radix)
ex)  char str[100], str2[100];
 itoa(1024, str, 10);
 str = “1024”
 str = “10000000000”


                    <C++ Base>
 
find(“str”)                   - return value : offset
find(“str”, offset)             fail – return : -1
substr(offset, count)
insert(offset, “str”)
replace(offset, count, “str”)
erase(offset, count)
c_str()

/* 들어온 입력이 PUSH면 PUSH를 출력
POP이면 POP을 출력하시오 
ex)    <In>                  <Out>
        5                         PUSH
        ABC                    PUSH
        PUSH                  POP
        PUSH
        POP                       
        DEF
*/

#include <iostream>
#include <string>
using namespace std;

int main()
{
int n;
string s;
cin >> n;
while(n--)
{
cin >> s;
if(s==string("PUSH"))
cout << s << endl;
else if(s==string("POP"))
cout << s << endl;
}
return 0;
}

신고

'Language > C++ STL' 카테고리의 다른 글

set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
String Process  (0) 2012.03.24
sstream  (0) 2012.03.24


/* 한 줄에 1 ~ 30개 까지 정수가 주어진다.
각각의 합을 해당 줄에 출력하시오.  */
#include <sstream>
#include <iostream>
#include <string>
using namespace std;
int main()
{
stringstream ss;
char str[1000];
string s;
while(gets(str))
{
int sum = 0;
int temp;
s = string(str);
ss << s;
while(ss>>temp)
{
sum += temp;
}
ss.clear();
cout << sum << endl;
}
}

// 불특정한 개수의 데이터를 입력받고자 할 때 stirng으로 입력받은 뒤 stringstream을 이용해 연산을 합니다. 
신고

'Language > C++ STL' 카테고리의 다른 글

set  (0) 2012.03.24
Vector assign  (0) 2012.03.24
vector  (0) 2012.03.24
cmath  (0) 2012.03.24
String Process  (0) 2012.03.24
sstream  (0) 2012.03.24

+ Recent posts