【1701H1】【穆晨】【171027】连续第十七天总结

本文介绍如何创建无序链表并实现链表的基本操作,包括创建、输出链表中的元素及删除链表结点等。文章通过具体示例代码演示了链表数据结构的运用。

任务:链表的应用

创建链表(无序链表)

Node *create()
{
Node *head;
Node *p,*pend;
int id;
cout<<"请输入学号";
cout<<"(学号为0表示结果输入):";
cin>>id;
head=0;
while(id!=0){
p=new Node;
p->num=id;
cout<<"请输入C++分数:";
cin>>p->score;
if(head==0){
head=p;
pend=p;
}
else{
pend->next=p;
pend=p;
}
cout<<"请输入学号:";
cin>>id;
}
if(head) pend->next=0;
return head;
}

输出链表

void print(Node *head)
{
Node *p=head;
if(p=0){cout<<"链表为空!\n";return;)
cout<<"链表上各个节点的值为:\n";
while(p!=NULL){
cout<<p->num<<'\t';
cout<<p->score<<endl;
p=p->next;
}
cout<<'\n';
}

删除链表结点

链表是空表,返回头指针指向就好,例如头指针head为NULL,返回NULL就好;

删除首结点:

Node *p2=head;            //定义p2指向首结点;

head=head->next;        //首结点后移赋值给首结点,即第二个结点当作首结点;

delete p2;                    //释放原首结点的空间;


p1->next=p2->next;                //p1指向p2的前驱结点;

delete p2;                                //删除p2,删除中间结点;

当p2->next为0是可以作为删除尾结点;

明日任务:链表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值