单链表c++

    科技2022-07-15  107

    #include<iostream> using namespace std; struct node{ int data; node* next; }; class List{ private: node* head; public: List(); void CreatList(int n); bool isEmpty(List& l); int Insert(const List &l,int e,int pos); int DeletePts(int e); void Print(); }; List::List(){ head=new node; head->next=NULL; } void List::CreatList(int n){ int i; node* tmp; node* p=head; for(i=0;i<n;i++){ tmp=new node; cin>>tmp->data; tmp->next=NULL; p->next=tmp; p=tmp; } } bool List::isEmpty(List & l){ if(l.head->next==NULL) return true; else return false; } int List::Insert(const List & l,int e,int pos){ node* tmp; node* p=head; if(pos<0||pos>sizeof(l)) return -1; else{ tmp->data=e; int i=1; while(pos!=i){ p=p->next; i++; } if(pos==i){ tmp->next=p->next; p->next=tmp; } } } int List::DeletePts(int e){ node* p=head; node* prev; while(p->data!=e){ prev=p; p=p->next; } if(p->data==e){ prev->next=p->next; delete p; } else return -1; } void List::Print(){ node* p=head->next; if(head==NULL&&head->next==NULL) cout<<"空链表"<<endl; else{ while(p!=NULL){ cout<<p->data<<" "; p=p->next; } } } int main(){ List l; l.CreatList(5); }
    Processed: 0.012, SQL: 8