0
votes

Insertion d'un nœud à la fin de la liste liée en C ++

J'ai écrit ce code pour insérer un noeud à la fin de la liste liée. Il compile sans erreurs mais lors de l'exécution Aucune sortie de sortie. Où est-ce que j'ai mal tourné? XXX

échoue-t-il car il devrait y avoir un cas particulier pour le moment où la liste est vide?


1 commentaires

Quoi que ce soit la tête , il y a un accès en écriture nul en insert_n . Donc, quelle que soit cette fonction, il ne peut pas changer la chose que impression accès. Sur une note associée, temp2-> suivant est invalide si temp2 est un pointeur NULL, qu'il est initialement. Vous devriez avoir une faute de segmentation là-bas.


3 Réponses :


1
votes

Votre tête n'est jamais réglé sur une valeur définie et il échoue à: xxx

car tête est null et donc temp2 est également null , qui donne une erreur de segmentation, lorsqu'il tente d'accéder à suivant . .


0 commentaires

-2
votes

Essayez ceci:

#include <iostream>

using namespace std; // this was missing !!!

struct node {
    int data;
    struct node* next;
};

struct node *head;

void insert_n(int x) {
    node* temp1 = new node();
    temp1->data = x;
    temp1->next = NULL;
    node* temp2 = head;
    while (temp2->next != NULL) {
        temp2 = temp2->next;
    }
    temp2->next = temp1;
}

void print() {
    node* temp = head;
    while (temp != NULL) {
        cout << temp->data << " ";
        temp = temp->next;
    }
}

int main()
{
    head = new node(); // without this you get a crash !!!
    insert_n(2);
    insert_n(3);
    insert_n(4);
    insert_n(5);
    print();
    return 0;
}


3 commentaires

Pourquoi "Utilisation de l'espace de noms std;" considéré comme une mauvaise pratique?


En outre, structure noeud * ... est C.


La sortie montre 0 2 3 4 5. Pourquoi a-t-il ajouté le "0"?



2
votes

Oui, vous avez raison. Si Head == null , votre fonction d'insertion ne peut pas fonctionner. Voici la correction de votre fonction insert_n () : xxx

voici un exemple de code: C Programme pour rechercher et insérer dans un lien individuellement lié. Liste


0 commentaires