创建一个由6个结点的单向链表,实现增加、删除、查找、移动、显示结点的基本功能。
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
char data;
node *next;
};
node *create(char *s) //创建6个结点的链表
{
node *head,*p1,*p2;
int i;
for(i=0;i<6;i++)
{
p1=(node*)malloc(sizeof(node));
if(i==0)head=p2=p1;
else
{
p2->next=p1; //p2的next等于p1
p2=p1;
}
p1->data=s[i]; //p1的值等于s【i】
}
p1->next=NULL;
return head;
}
node *search(node *head,int i) //根据位置搜索内容,返回结点
{
int j;
node *p;
p=head;
for(j=1;j<i;j++)p=p->next; //当到位置j时即为要找的结点
return(p);
}
void insert(node *head,int i,char x) //插入
{
node *p,*p1;
p=search(head,i); //找到相应位置结点
p1=( nod