问答详情
源自:4-14 结束语句之break语句

求大佬,帮帮忙这是干嘛的,如何运行

#include <iostream>
using namespace std;

class node {
    public:
    int data;
    node *next;
    node(int x){
        data=x;
        next=NULL;
    }
};
class LinkedList{
public:
    node *head;
    void addAtFront(node *n){
        n->next=head;
        head=n;
    };
    bool isEmpty(){
            return (head==NULL)?1:0;
    };
    void addAtEnd(node *n){
        if(head==NULL){
            head=n;
            n->next=NULL;
        }
        else{
            node *n2=getLastNode();
            n2->next=n;

        }
    };
    node* getLastNode(){
        node* ptr=head;
        while(ptr->next!=NULL)
            ptr=ptr->next;
        return ptr;
    };
    node* search(int k){
        node *ptr=head;
        while(ptr!=NULL&&ptr->data!=k){
            ptr=ptr->next;
        }
        return ptr;
    };
    node* deleteNode(int x){
        node *n=search(x);
        node *ptr=head;
        if(ptr==n){
            head=n->next;
            return n;
        }
        else{
            while(ptr->next!=n){
                ptr=ptr->next;
            }
            ptr->next=n->next;
            return n;
        }
    };
    void printList(){
        node *ptr=head;
        while(ptr!=NULL){
            cout<<ptr->data<<"->";
            ptr=ptr->next;
        }
        cout<<"\n";
    };
    LinkedList(){head=NULL;}
};

int main(){
    LinkedList li;
    node *n1=new node(1);
    node *n2=new node(2);
    node *n3=new node(3);
    node *n4=new node(4);
    li.addAtFront(n1);
    li.printList();
    li.addAtFront(n2);
    li.printList();
    li.addAtEnd(n4);
    li.addAtEnd(n3);
    li.printList();
    li.deleteNode(2);
    li.printList();
    return 0;
}


提问者:慕粉2249789 2018-05-21 08:57

个回答

  • 慕兄7758
    2018-05-22 20:26:33

    数据结构里面的链表?

  • 慕后端3999874
    2018-05-22 10:28:42

    1111