리스트 2

연결리스트 큐 이용 파일 탐색,,, No 재귀호출

스택이나 큐를 사용하면 재귀함수를 non재귀함수로 만들 수 있다. 이전에는 스택을 이용하여 html 소스를 추출하는 것을 만들어 보았다. 이번에는 큐를 사용하여 파일을 찾는 함수를 작성해 보았다. (이재규 c++ 알고리즘도 좀 참고했다.) 연결리스트 자체가 이미 큐로서 충분히 기능할 수 있으므로 별도의 큐 클래스를 만들지 않았다. 큐 클래스로 별도로 구성하면 아무래도 쓸데없는 부분까지 구성해야 하므로 더 번거로운 작업이 될 수 있다. 단순 연결리스트를 생성하고 큐의 put, get 등 기본적 개념을 이용하였다. // 큐를 이용해 Non Recursive 함수로 구성해 봄. // 큐의 경우 FIFO 구조이므로 상위디렉부터 검사하고 하위로 차근차근 검사해나가는 파일탐색에 적용할 수 있다. // 트리의 lev..

연결리스트 스택 이용해 노재귀 형태로 html 소스 뽑아보기

자료구조, 알고리즘 둘러보다가 퍼뜩 떠올라서 구성해 보았다. 스택을 이용하니 노재귀형태로 구성할 수 있었다. 재귀의 오버플로우는 뭐 요즘같이 스레드에 할당되는 기본 스택이 1메가? 정도되는 상태에서 웬만큼 흘리는 코딩을 하지 않으면 거의 발생할 일이 없겠지만서두,,, 이와 별도로 하나의 함수에서 기타 처리를 모두 할 수 있으니 깔끔해진 듯 하다. 이전에 재귀 형태로 돌리는 경우 기타 처리를 하려면 보통 재귀함수 + 기타처리를 하는 함수,,, 2개로 구성하는 경우가 많았다. // 재귀함수 사용하지 않고 스택으로 해결 // 연결리스트 스택으로 구성한다. // 이 함수 성공시 호출부에서는 사용하고 난 후 결과값을 잊지말고 free해줘야 된다. LPWSTR __stdcall GetHtmlSourceNoRecur..