(C语言,数据结构)判别一个数是否在序列中,在,就删除,不在,输出NO设有一有序序列,从键盘输入一个数,判别是否在序列中,如果不在输出“NO”,否则,将它从序列中删除它,并输出删除后的序列
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 09:44:23
(C语言,数据结构)判别一个数是否在序列中,在,就删除,不在,输出NO设有一有序序列,从键盘输入一个数,判别是否在序列中,如果不在输出“NO”,否则,将它从序列中删除它,并输出删除后的序列
(C语言,数据结构)判别一个数是否在序列中,在,就删除,不在,输出NO
设有一有序序列,从键盘输入一个数,判别是否在序列中,如果不在输出“NO”,否则,将它从序列中删除它,并输出删除后的序列.
(C语言,数据结构)判别一个数是否在序列中,在,就删除,不在,输出NO设有一有序序列,从键盘输入一个数,判别是否在序列中,如果不在输出“NO”,否则,将它从序列中删除它,并输出删除后的序列
#include<iostream>
using namespace std;
struct node
{
int date;
node *next;
};
typedef node *link;
int main()
{
int n;
int num_[8] = {1,2,3,4,5,6,7,8};
//建立链表
link p,q;
link head = new node;
head->date = num_[0];
head->next = NULL;
p = head;
for(int i = 1; i<8; i++)
{
q = new node;
q->date = num_[i];
q->next = NULL;
p->next = q;
p = q;
}
p = head;
while(p!=NULL)
{
cout<<p->date<<ends;
p = p->next;
}
cout<<endl<<"输入要删除的数"<<endl;
while(scanf("%d",&n)!=EOF)
{
bool flag = false;
p = head;
if(head->date == n)
{
flag = true;
head = p->next;
p = head;
cout<<"输出新的序列: ";
while(p != NULL)
{
cout<<p->date<<ends;
p = p->next;
}
cout<<endl;
}
else
{
q = p;
while(q->next != NULL)
{
q = p->next;
if(q->date == n)
{
flag = true;
p->next = q->next;
p = head;
cout<<"输出新的序列: ";
while(p != NULL)
{
cout<<p->date<<ends;
p = p->next;
}
cout<<endl;
break;
}
p = q;
}
}
if(flag == false)
cout<<"NO"<<endl;
cout<<"输入要删除的数"<<endl;
}
system("pause");
return 0;
}