C++로 목록을 만들려면 어떻게 해야 하나요? 링크된 목록을 만들려고 합니다. 어떻게 해야 하나요? 따를 수 있는 좋은 튜토리얼이나 예제가 있나요?
내가 아는 c++컴파일러는 받으라니깐 이미 링크드 리스트 클래스 및 운영까지도 구현할 수 있기 때문에 자신의 확인하시겠습니까 어떻게 할 수 있습니다.
첫째, https://stackoverflow.com/questions/392397/arrays-whats-the-point, 읽기 좋은 답을 포함하는 기본 데이터 구조. 그런 그들을 c++컴파일러는 모델 어떠세요.
struct Node {
int data;
Node * next;
};
기본적으로 that& # 39 을 구현하는 데 필요한 모든 바뀌엇어요! (a 아주 단순합니다). 그러나 그것은 주님으로부터그에게 추상화를 연결할 경우 당 항목 손:
Node a={1}, b={20, &a}, c={35, &b} d={42, &c};
이제 당신은 모든 투명지에 링크됨 목록니다 노드입니다 할당할지 stack.
d -> c -> b -> a
42 35 20 1
다음 단계는 쓸 수 있으며, 래퍼 클래스 '목록' 을 가리키는 필요에 따라 추가 시작 노드에서 노드로 추적하는 헤드입니다 목록 (다음 매우 단순화됨):
class List {
struct Node {
int data;
Node * next;
};
Node * head;
public:
List() {
head = NULL;
}
~List() {
while(head != NULL) {
Node * n = head->next;
delete head;
head = n;
}
}
void add(int value) {
Node * n = new Node;
n->data = value;
n->next = head;
head = n;
}
// ...
};
다음 단계는 목록을 만들 수 있도록 다른 값에 물건을 템플리트와 아니라 정수).
익숙한 경우 스마트 포인터, 그런 다음 재장착합니다 기초형상 포인터를 사용하는 스마트 포인터. 내가 사람을 찾기 위해 종종 추천합니까 스마트 포인터 평가했다. 하지만 내 의견으로는 필요한 이유에 대해 먼저 스마트 포인터, 그리고 그 사용. 우선 필요한 것이 아니라, 기초형상 포인터 이해 합니다. 그렇지 않으면 모른 채 사용하면 매직 도구에서는 일부 선택해야 하는 것입니다.
사용하려는 경우 ',' 표준용량 목록 문자 매개변수입니다 전달하십시오 합니다.
list<int> intList;
list<int>* intListPtr = new list<int>;
내가 어떻게 궁금해할까봐 열거합니다 구글링 추천합니다 일부 C/C++ 자습서는 대한 이해를 돕기 위해 일하고 있는 주제라서요. 그런 다음 목록을 만들 수 있을 만큼 c++컴파일러는 클래스, 그리고 다음 단계로 오더할 com/go/learn_fl_cs4_learningas2_kr 바뀌엇어요 템플리트를 구분된다.
질문이 더 많을 경우, 뒤로를 하나님께용서를 삽입하십시오.
왜 바퀴를 재발명해야 하나요. STL 목록 컨테이너를 사용하면 됩니다.
#include <list>
// in some function, you now do...
std::list<int> mylist; // integer list
이리에
template <class T> struct Node
{
T data;
Node * next;
};
template <class T> class List
{
Node<T> *head,*tail;
public:
void push(T const&); // push element
void pop(); // pop element
bool empty() // return true if empty.
};
다음과 같은 코드를 작성할 수 있습니다 다음
List<MyClass>;
Type T 의 실행하십시오 동적임 없는 시간. 단지 이 컴파일 타임.
자세한 예제에서와 클릭 듣고.
클릭 듣고 c++용 템플릿일 자습서는.