[C++ 01.11] list사용하기

2011. 1. 11. 01:45C++

지금 마냥 술한잔 마시고 알딸달한 기분으로 이렇게 블로그 작성하네요^^

알고스팟 문제 푸는데 왜케 안되는지 짜증짜증...

하여튼 계속 머리 안굴리다가 굴릴려니 돌만 굴러다니고....

다시 윙윙윙~~ 굴려야 겠어요^^ 하여튼 본론으로 들어가겠습니다.

평소에 링크드리스트 사용할려면 귀찮게 막 이것저것 써야 한다...

마냥 귀찮다...

간단한 링크드 리스트는 기존에껄 불러와서 사용하면 편하다...

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

int main()
{
       list<string> lis; 일단 list변수 생성 이때 저는 string에 대한 내용을 사용한다고 자바에선 제네릭과 비슷하게 선언해주고
        lis.push_back("aaaa"); 맨마지막에 입력
        lis.push_back("AAA"); 맨마지막에 입력
        lis.push_front("BBSA");맨처음에 입력
        lis.sort();그리고 정렬

        list<string>::iterator lt; 정렬한 결과를 출력하기 위해서는 이터레이터라고 필요한데 이것또한 자바랑 똑같네요..^^
        lt=lis.begin();이터레이터를 list 변수시작으로 연결시켜주고

        while(lt!=lis.end()) 반복문을 도는데 이때 lis의 끝을 찾습니다. 만약 끝을 찾았다면 반복문은 빠져나오겠죠
        {
                cout<<*lt<<endl;  출력시에는 포인터로 출력하게 됩니다.
                lt++; 출력했다면 포인터 위치를 이동~~!!
        }
        return 0;
}



단지 이거 짜는데 기존에는 좀 심하게 긴 라인을 사용해야 합니다...

그리고 링크드로 입력안하면 정렬시 오버/언더 플로가 발생해서 제대로된

결과값이 안나오는 어처구니 없는 상황도 발생할수 있습니다.

제가 저번에 퀵정렬 만들어 볼때 재귀없이 만들어 봤는데 역시나 쓰레기 값이 나오더군요

하여튼 list한번 써보는것도 나쁘지 않쿤요..^^

'C++' 카테고리의 다른 글

[C++ 04.11] linkedlist 역순으로 정렬  (1) 2011.04.11
[C++ 01.11] cout 소수점 출력  (4) 2011.01.12