#include<iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode* next;
}LNode, * LinkList;
void CreatTail(LinkList& L, int n)
{
L = new LNode;
L->next = NULL;
LinkList r = L;
while (n--)
{
LinkList p = new LNode;
cin >> p->data;
p->next = NULL;
r->next = p;
r = p;
}
}
void Delete(LinkList& L, int k, int& e)
{
LinkList p = L->next, pre = L;
int j = 1;
while (j < k && p)
{
p = p->next;
pre = pre->next;
j++;
}
e = p->data;
pre->next = p->next;
delete(p);
cout << "删除的第" << k << "个数的值为:" << e << endl;
}
void Printlist(LinkList L)
{
LinkList p = L->next;
while (p->next)
{
cout << p->data << " ";
p = p->next;
}
cout << p->data;
cout << endl;
}
int main()
{
LinkList L;
int n, e, k;
while (cin >> n && n)
{
CreatTail(L, n);
Printlist(L);
cin >> k;
Delete(L, k, e);
}
return 0;
}
删除第个k结点(c++)
于 2022-03-28 15:15:22 首次发布