将你的插入函数补充如下:
void insert(node *head, int n) //插入到第n个结点之后
{
char c[20];
long number2;
node *p = head, *newnode = new node;
cout << "请输入要插入的成员的姓名" << endl;
cin >> c;
cout << "请输入要插入的成员的号码"<
newnode->number = number2;
strcpy(newnode->b, c);
for(int i = 0; i < n && p->next != NULL; i++)
{
p = p->next; }
newNode->next = p->next;
p->next = newNode;
}
删除功能如下:
void DeleteElem(node *head, int n, char name[], long &number)
{
node *pre =NULL; *pdel = head;
for(int i = 0; i < n && pdel != NULL; i++, pre = pdel, pdel = pdel->next) ;
if(pdel == head) head = pdel->next;
else pre->next = pdel->next;
strcpy(name, pdel->b);
number = pdel->number;
delete pdel;
}
void insert(node *head,int j,int ,n)
{
char c[20];long number2;
node *ptemp = head;
node *newnode=new node;
cout<<"请输入要插入的成员的姓名"<cin>>c;
cout<<"请输入要插入的成员的号码"<cin>>number2;
newnode->number=number2;
strcpy(newnode->b,c);
for(int i=0;i{
ptemp++;
}
node->next = ptemp->next;
ptemp->next = node;
}
void del(node *head,int ,n)
{
node *ptemp = head;
for(int i=0;i{
ptemp++;
}
if(ptemp ==head)
{
head = head->next;
delete ptemp;
}
else
{
node *pP=ptemp--;
pP->next = ptemp->next;
delete ptemp;
}
}