单链表问题中插入,删除问题
#include<stdio.h>typedef struct student{
int data;
long number;
char name;
char sex;
int age;
struct student*next;
}LIST;
LIST *CreatLList(int n)
{ LIST *head,*p,*q;
int i;
if(n>0)
{
head=(LIST *)malloc(sizeof(LIST));
printf("请输入第一个学生信息:\n");
scanf("%ld%s%s%d",&head->number,&head->name,&head->sex,&head->age);
p=head;
for(i=2;i<=n;i++)
{
q=(LIST *)malloc(sizeof(LIST));
printf("请输入第一个学生信息:\n");
scanf("%ld%s%s%d",&q->number,&q->name,&q->sex,&q->age);
p->next=q;p=q;}
q->next=NULL;}
else
head=NULL;
return head;
}
void OutputLList(LIST *p)
{
printf("\n输出信息:\n");
while(p){
printf("学号:%d,姓名:%s,性别:%s,年龄:%d\n",
p->number,p->name,p->sex,p->age);
p=p->next;
}
}
LIST *InsertLList(LIST *p, LIST *newnode,int iPos)
{
}
LIST *DeleteLList(LIST *p,int iPos)
{
}
int FindLList(LIST *p,int age)
{
}
(3) 向链表指定位置插入新结点 函数原型:LIST *InsertLList(LIST *p, LIST *newnode,int iPos); 函数参数:p为单链表头指针 newnode指向要插入的新节点 iPos为插入位置,将新节点插在第iPos个位置,若表中无第iPos个结点,则给出相应提示信息。头结点位置为0。 返回值: 单链表头指针
(4) 删除链表指定位置的结点 函数原型:LIST *DeleteLList(LIST *p,int iPos); 函数参数:p为单链表头指针 iPos 为指定位置,若表中无第iPos结点,则给出相应提示信息。头结点位置为0。 返回值: 单链表头指针
(5) 查找与给定年龄age相同的记录 函数原型:int FindLList(LIST *p,int age); 函数参数:p为单链表头指针 age 为查找条件 返回值: 查找成功,返回该结点所在位置信息,头结点位置为0。 查找失败,返回-1。后三个实在编不出来