#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);
}
单链表c++
最新推荐文章于 2024-02-14 10:25:45 发布