如何删除线性表的第n个元素?
#include "stdafx.h"#include "stdio.h"
#include "stdlib.h"
typedef struct Lnode
{
struct Lnode *next;
int Length;
int data;
}Lnode,*LinkList;
int main(int argc, char* argv[])
{
int i,m,min,n;
printf("input number:\n");
scanf("%d",&m);
LinkList la,p,q;
la=(LinkList)malloc(sizeof(Lnode));
la->next=NULL;
p=la;
printf("input number:\n");
for(i=0;i<m;i++)
{
q=(LinkList)malloc(sizeof(Lnode));
scanf("%d",&q->data);
p->next=q;
p=p->next;
}
p=la->next;
min=p->data;
for(i=0;i<m;i++)
{
if(p->data<min)
min=p->data;
p=p->next;
}
printf("min=%d\n",m);
printf("input n:\n");
scanf("%d",&n);
for(i=n;i<m;i++)//这里该如何删除第n个元素?
{
p->next=p->next->next;
p=p->next;
}
for(i=0;i<m-1;i++)
{
printf("%d",p->data);
}
return 0;
}