역순 출력 링크 의 요소

1553 단어 체인 테이블
역순 출력 링크 의 요소: 일반 출력 요 소 는 데이터 구 조 를 바 꾸 지 않 기 때문에 역순 출력 링크 의 요 소 를 먼저 제거 하고 모든 노드 를 다음 노드 로 가리 키 는 것 을 이전 노드 를 가리 키 는 생각 으로 바 꾸 어야 합 니 다. 그래서 가장 먼저 생각 할 수 있 는 것 은 재 귀 로 실현 하 는 것 입 니 다. 그러나 재 귀 실현 에 문제 가 있 습 니 다. 바로 요소 가 너무 많 을 때.스 택 이 넘 칠 수 있 기 때문에 우 리 는 스스로 스 택 을 실현 하여 결산 점 을 저장 할 수 있 습 니 다. 다음은 두 가지 방법 으로 이 루어 집 니 다.
#include 
#include 

typedef struct Node
{
	int m_data;
	Node* m_next;
}Node, *List;

//       -    
void printListInverse1(List list)
{
	if (list)
	{
		printListInverse1(list->m_next);
		std::cout<m_data<<:endl void="" printlistinverse2="" list="" std::stack=""> stack_noed;
	while(!stack_noed.empty())
	{
		stack_noed.pop();
	}
	//       push    
	while(list)
	{
		stack_noed.push(list);
		list = list->m_next;
	}
	//      ,    
	while(!stack_noed.empty())
	{
		std::cout<m_data<<:endl stack_noed.pop="" void="" insertlist="" list="" int="" data="" if="">m_next, data);
	}
	else
	{
		Node* node = new Node;
		node->m_data = data;
		node->m_next = 0;
		list = node;
	}
}

int main()
{
	Node* list = new Node;
	list->m_next = 0;
	insertList(list, 1);
	insertList(list, 2);
	insertList(list, 3);
	insertList(list, 4);
	insertList(list, 5);
	insertList(list, 6);
	//     
	printListInverse1(list->m_next);
	//      
	printListInverse2(list->m_next);
	return 0;
}

좋은 웹페이지 즐겨찾기