建立长度为n的单链表,删除第i个结点之前的结点。
输入
第一行为自然数n,表示链式线性表的长度;
第二行为n个自然数表示链式线性表各元素值;
第三行为指定的删除参数i。
输出
指定删除位置合法时候,输出删除元素后的链式线性表的所有元素,元素之间用一个空格隔开。
输入不合法,输出"error!"。
样例输入
5
1 2 3 4 5
3
样例输出
1 3 4 5
#include<stdio.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LinkList;
void Createlist(LinkList *&L,int a[],int n)//尾插法
{
LinkList *s,*r;
L=(LinkList *)malloc(sizeof(LinkList));//创建头结点
r=L;
for(int i=0;i<n;i++)//创建循环节点
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=a[i];
r->next=s;//将s插入到节点r后
r=s;
}
r->next=NULL;//尾节点 的next域置为NULL
}
void printlist(LinkList *list)//输出单链表
{
LinkList *p=list->next;//p指向首节点
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
bool Deletelist(LinkList *&