神舟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=