방금 C ++를 사용하여 연결된 목록에 대해 배우기 시작했습니다. 벡터를 사용하여 연결 목록을 만들려고합니다. 이 코드에 문제가있는 이유는 무엇입니까?

아닙니다
#include<bits/stdc++.h>
using namespace std;
class node{
public:
    int data;
    node* next;
    
// Constructor
node(int d){
    data = d;
    next = NULL;
}
};

 // Linked List from Vector
void createList(node*& head , vector<int> v){
cout<<v[0];
head->data = v[0];
head->next = NULL;
node* last = head;
for(int i = 1 ; i < v.size() ; i++){
    cout<<"X"<<endl;
    node* temp = new node(v[i]);
    last->next = temp;
    last = temp;
}
cout<<head->data;
  }

// Print Linked list
  void printList(node* head){
  while(head != NULL){
    cout<<head->data;
    head = head->next;
 }
}
int main(){
 vector<int> v = {1 , 2 , 3 , 4 , 5};
 node* head = NULL;
 createList(head , v);
 cout<<head->data;
 printList(head);
 }

위의 코드는 내가 사용한 것입니다. 먼저 벡터를 만들었습니다. 그런 다음 벡터를 사용하여 연결 목록을 만든 다음 연결 목록을 인쇄하려고합니다. 그러나 출력에는 아무것도 표시되지 않습니다.

출력에 아무것도 표시되지 않습니다. 오류 없음, 출력 없음.

jkb

에 널 포인터 ( head)를 전달하고 createList있지만 다음 줄을 사용하여 함수에서 즉시 참조를 해제합니다.

head->data = v[0];

사용하기 전에 head무언가를 가리켜 야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관