STL - list - Sample (1)

2016. 12. 2. 09:28IT-개발/C및C++

반응형

// STL List 사용에 대한 좋은 예제


#include <iostream>

#include <list>

using namespace std;


// 아이템 구조체

struct Item

{

Item( int itemCd, int buyMoney )

{

ItemCd = itemCd;

BuyMoney = buyMoney;

}

int ItemCd; // 아이템코드

int BuyMoney; // 판매금액

};


void main()

{


list< Item > Itemlist;


// 앞에 데이터 추가

Item item1( 1, 2000 );

Itemlist.push_front( item1 );


Item item2( 2, 1000 );

Itemlist.push_front( item2 );


// 뒤에 데이터 추가

Item item3( 3, 3000 );

Itemlist.push_back( item3 );

Item item4( 4, 4500 );

Itemlist.push_back( item4 );


// 아이템 코드 번호가 2, 1, 3, 4의 순서로 출력된다.

list< Item >::iterator iterEnd = Itemlist.end();

for(list< Item >::iterator iterPos = Itemlist.begin();

iterPos != iterEnd;

++iterPos )

{

cout << "아이템 코드 : " << iterPos->ItemCd << endl;

}


// 앞에 있는 데이터를 삭제한다.

Itemlist.pop_front();


// 앞에 있는 데이터의 참조(Ref)를 리턴한다.

Item front_item = Itemlist.front();


// 아이템 코드 1이 출력된다.

cout << "아이템 코드 : " << front_item.ItemCd << endl;


// 마지막에 있는 데이터를 삭제한다.

Itemlist.pop_back();


// 마지막에 있는 데이터의 참조(Ref)를 리턴한다.

Item back_item = Itemlist.back();


// 아이템 코드 3이 출력된다.

cout << "아이템 코드 : " << back_item.ItemCd << endl;


// 저장된 데이터가 있는가?

if( false == Itemlist.empty() )

{

list< Item >::size_type Count = Itemlist.size();

cout << "남아 있는 아이템 개수: " << Count << endl;

}


// 모든 데이터를 지운다.

Itemlist.clear();

list< Item >::size_type Count = Itemlist.size();

cout << "남아 있는 아이템 개수: " << Count << endl;


}



'IT-개발 > C및C++' 카테고리의 다른 글

STL - list - Sample (3)  (0) 2016.12.02
STL - list - Sample (2)  (0) 2016.12.02
STL - iterator 사용하기 sample  (0) 2016.12.01
Design Patterns - sample - SingleTon  (0) 2016.12.01
argv / argc 에 대해_1  (0) 2016.04.26