C ++: linked list implementation

//mylist.h
struct Node{
    int data;
    struct Node *next;
};
class List{
public:
    List();//构造空链表
    ~List();//销毁链表
    
    void insertlist(int d);
    void traverselist();
private:
    Node *head;
};
//mylist.cpp
#include <iostream>
#include <stdio.h>
#include "mylist.h"
using namespace std;

List::List(){
    head = new Node;
    head->next = NULL;
}
List::~List(){
    Node *t = head;
    while(head){
        head = head->next;
        delete t;
        t = head;
    }
}

void List::insertlist(int d){
    Node *cur = new Node;
    cur->data = d;
    
    cur->next = head->next;
    head->next = cur;
}

void List::traverselist(){
    Node *ph = head->next;
    while(ph != NULL){
        cout<<ph->data<<endl;
        ph = ph->next;
    } 
}

//main.cpp
#include <iostream>
#include "mylist.h"
using namespace std;

int main(){
    List list;
    list.insertlist(1);
    list.insertlist(2);
    list.insertlist(3);

    list.traverselist();
    return 0;
}
Published 25 original articles · won praise 2 · Views 820

Guess you like

Origin blog.csdn.net/yangjinjingbj/article/details/104056331
Recommended