#include<stdio.h>
#include<stdlib.h>
typedef struct list
{
int data;
struct list *next;
}lnode,*linklist;
linklist create(linklist head)
{
linklist h,p,q;
p=head;
int i;
printf("输入元素: \n");
scanf("%d",&i);
while(i!=-1)
{
q=(linklist)malloc(sizeof(lnode));
q->data=i;
q->next=NULL;
p->next=q;
p=q;
scanf("%d",&i);
}
}
void display(linklist head)
{
linklist p=head->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
dele(linklist head)
{
linklist p,q,h;
p=head;
int i;
printf("输入某个元素后的删除的位置: \n");
scanf("%d",&i);
while(i--)
{
p=p->next;
}
int num;
num=p->next->data;
q=p->next;
p->next=p->next->next;
printf("删除的元素值为: \n");
printf("%d\n",num);
free(q);
}
find(linklist head)
{
linklist h,p,q;
int i,j=0;
printf("输入查找的元素值: \n");
scanf("%d",&i);
p=head;
while(p->data!=i)
{
++j;
p=p->next;
}
printf("%d\n",j);
}
gai(linklist head)
{
linklist p,q,h;
p=head;
int i;
printf("输入要修改元素的位置: \n");
scanf("%d",&i);
while(i--)
{
p=p->next;
}
int num;
printf("输入要修改的元素值: \n");
scanf("%d",&num);
p->data=num;
}
int main()
{
linklist head;
head=(linklist)malloc(sizeof(lnode));
head->next=NULL;
create(head);
display(head);
dele(head);
display(head);
find(head);
gai(head);
display(head);
return 0;
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-60534.html