//链表操作:建立、插入、删除、查找、倒置、删除等基本操作 //喜洋洋制作 #include
intdata;
structLNode *next;
}LNode,*Llist;
LNode *creat_head();//创建一个空表
void creat_list(LNode *,int);//创建一个长度为n的线性链表 voidinsert_list(LNode *,int,int);//插入一个元素 intdelete_list(LNode *,int);//删除一个元素 intfound_list(LNode *,int);//链表查询 void reverse(LNode *);//倒置整个链表 voiddelete_whole(LNode *);//删除整个链表 voidprint_list(LNode *);//打印链表 main() {
LNode *head; int n,n2;
intx,i; int b;
char temp1,temp2; head=creat_head();
printf(\请输入链表的节点个数n=\scanf(\
printf(\\\n请输入数据:\\n\creat_list(head,n);//创建链表
print_list(head);
printf(\\\n*********************************************************
\\n\
printf(\\\n下面进行链表插入元素\\n\printf(\\\n请输入您需要插入的元素x=\scanf(\
printf(\\\n请输入即将插入的位置 i=\scanf(\
insert_list(head,x,i);//插入元素 print_list(head);
printf(\\\n*********************************************************\\n\
printf(\\\n下面进行链表删除元素\\n\printf(\\\n请输入即将删除元素的位置:i=\
scanf(\
b=delete_list(head,i);//删除元素 print_list(head);
printf(\\\n\\n成功删除元素:%d\
printf(\\\n*********************************************************\\n\
printf(\\\n下面进行链表查询\\n\printf(\\\n请输入即将查询的元素:x=\scanf(\
if(found_list(head,n2)>0) //链表查询
printf(\找到了,在第%d的位置上\
else
printf(\没有找到!\
printf(\\\n*********************************************************\\n\
printf(\\\n是否倒置整个链表?Y/N\\n\
fflush(stdin);
scanf(\if('Y'==temp1) //倒置链表
{
reverse(head);
print_list(head);
}
printf(\\\n*********************************************************\\n\
printf(\\\n是否删除整个链表?Y/N\\n\fflush(stdin);
scanf(\if('Y'==temp2) //删除链表
{
delete_whole(head);
printf(\\\n成功删除整个链表\\n\} }
//创建一个空链表 LNode *creat_head() {
LNode *p;
p=(Llist)malloc(sizeof(LNode));
if(NULL==p)
printf(\内存申请失败!\
else {