#include
#include
typedef struct Node{
char ch;
struct Node * next;
}Node,*Linklist;
int num;
// ,
Node * findValue(char c,Node * head){
Node * p=head->next;
while(p->next!=NULL){
if(p->ch==c)
return p;
else
p=p->next;
}
return head;
}
//
char findIndex_Value(Node * head,int index){
int count=0;
Node * p=head->next;
for(int i=1;inext;
}
return p->ch;
}
//
void insertP(Node *head,int index){
if(index<0||index>4+1){
printf("
");
}else{
Node *p=head;
index--;
while(p->next!=NULL&&index!=0){
p=p->next;
index--;
}
Node *s=(Node *)malloc(sizeof(Node));
s->ch='j';
s->next=p->next;
p->next=s;
}
}
//
void setP(Node *head,int index){
if(index<0||index>4+1){
printf("
");
}else{
Node *p=head;
index--;
while(p->next!=NULL&&index!=0){
p=p->next;
index--;
}
p->next->ch='g';
}
}
//
void deleteP(Node *head,int index){
if(index<0||index>4){
printf("
");
}else{
Node *p=head;
index--;
while(p->next!=NULL&&index!=0)
{
p=p->next;
index--;
}
Node *s=p->next;
p->next=s->next;
s->next=NULL;
free(s);
}
}
//
Node * createLinkList(int num){
char c;
Linklist L=(Linklist)(malloc)(sizeof(Linklist));
L->ch=NULL;
L->next=NULL;
Node * r=L;
Node *s;
for(int i=0;ich='a';break;
case 1:s->ch='b';break;
case 2:s->ch='c';break;
case 3:s->ch='d';break;
}
//s->ch='a';
r->next=s;
r=s;
}
}
r->next=NULL;
return L;
}
//
void procOutput(Node * L){
Node * p=L->next;
while(p->next!=NULL){
printf("%c ",p->ch);
p=p->next;
}
printf("
");
}
int main(){
Linklist L=createLinkList(5);
Node * p1=findValue('c',L);
printf("%c
",p1->ch);
char cha=findIndex_Value(L,3);
printf("%c
",cha);
deleteP(L,3);
procOutput(L);
insertP(L,3);
procOutput(L);
setP(L,3);
procOutput(L);
return 0;
}