#include<iostream>
#include<stdio.h>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
struct Node
{
int data;
struct Node *next;
};
int main()
{
Node *pHead,*pCurrent,*pNew;
int data;
pHead=new Node();
pHead->data=0;
pHead->next=NULL;
pCurrent=pHead;
cin>>data;
while(data!=-1)
{
pNew=new Node();//创建新节点
pNew->data=data;
pNew->next=NULL;
pCurrent->next=pNew;//插入新节点
pCurrent=pNew;//让新节点变成当前节点
cin>>data;
}
cout<<"正整数链表创建完成"<<endl<<"输入要删除的节点:";
int n;cin>>n;
int i=0;
pCurrent=pHead->next;
for(i=0;i<n-2;i++)
{
cout<<i<<":"<<pCurrent->data<<" ";
pCurrent=pCurrent->next;
}
cout<<endl;
Node *temp;
temp=pCurrent->next;
pCurrent->next=temp->next;
delete(temp);
pCurrent=pHead->next;
while(pCurrent!=NULL)//遍历链表
{
cout<<pCurrent->data<<" ";
pCurrent=pCurrent->next;
}
cout<<endl;
pCurrent=pHead;//释放空间
while(pCurrent!=NULL)
{
delete(pCurrent);
pCurrent=pCurrent->next;
}
pCurrent=pHead->next;
while(pCurrent!=NULL)
{
cout<<pCurrent->data<<" ";
pCurrent=pCurrent->next;
}
return 0;
}
链表删除和遍历
最新推荐文章于 2023-08-26 20:46:50 发布