为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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;
}


正在回答

2 回答

数据结构里面的链表?

0 回复 有任何疑惑可以回复我~

1111

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926023    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信