📄 3单链表.cpp
字号:
#include <iostream.h>
struct slnode
{
int data;
slnode *next;
};
slnode* Create_SL()
{
slnode *p,*s,*h;
int x;
h=new slnode;
h->next=NULL;
cout<<"输入数据,以-1结束:"<<endl;
cin>>x;
while(x!=-1)
{
s=new slnode;
s->data=x;
if(h->next==NULL)
h->next=s;
else
p->next=s;
p=s;
cin>>x;
}
p->next=NULL;
return h;
}
int Insert_LinkList(slnode *h,int i,int x)
{
slnode *p,*s;
int j=0;
p=h;
while(p->next!=NULL&&j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
cout<<"i is invalid!"<<endl;
return 0;
}
else
{
s=new slnode;
s->data=x;
s->next=p->next;
p->next=s;
return 1;
}
}
void Del_LinkList(slnode *h,int x)
{
slnode *p,*q;
p=h;
q=h->next;
while(q!=NULL&&q->data!=x)
{
p=q;
q=q->next;
}
if(!q)
cout<<"结点中的值没有x!"<<endl;
else
{
p->next=q->next;
delete q;
}
}
void Print(slnode *h)
{
slnode *p;
p=h->next;
if(p==NULL)
cout<<"链表为空!"<<endl;
else
cout<<"链表中的数据为:"<<endl;
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
void main()
{
slnode *h;
int i,x;
h=Create_SL();
Print(h);
cout<<"输入插入的数据及其位置:"<<endl;
cin>>x>>i;
Insert_LinkList(h,i,x);
Print(h);
cout<<"输入删除的数据:"<<endl;
cin>>x;
Del_LinkList(h,x);
Print(h);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -