课课通指针练习之排除异常基因

神舟X号飞船在完成宇宙探险任务回到地球后,宇航员小杨感觉身体不太舒服,去了医院检查,医生诊断结果:小杨体内基因已被改变,原有人体基因序列中已经被渗入外星球不明异形生物基因,但可喜的是,这些异形基因都有一个共同的特征,就是该基因序号的平方除以7的余数都是1,要赶快清除掉,否则会危害整个人类。请帮对信息学一窍不通的医生编写一个程序排除异常基因吧!

在这里我们不用不删数组元素直接输出的方式,而是用双向链表实现

提示:用双向链表,因为在删除尾部节点时要把尾端指针移动至原来的上一个节点。所以建议读者先查阅关于双向链表的资料和关于指针的书籍,对理解本题有极大帮助。

上代码:

#include<iostream>
using namespace std;
struct list
{
    int num;
    list *next,*last;
};
int main()
{
    int n,a;
    cin>>n>>a;
    list *head,*tail,*p,*q;
    head=new list;
    head->next=nullptr;
    head->last==nullptr;
    head->num=a;
    q=head;
    for(int i=2;i<n;i++)
    {
        cin>>a;
        p=new list;
        p->next=nullptr;
        p->last=nullptr;
        p->num=a;
        q->next=p;
        p->last=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值