26个英文字母用语言形象表示

如:S——人生路之坎坷多变
Q——托着脑袋思考

  #include<stdio.h>
  #include<malloc.h>
  typedef struct LNode
  {char character;
  struct LNode*next;
  }LNode,*PLNode;
  PLNode CreateList()/*创建单链表*/
  {PLNode P,head,q;
  int i;
  head=(PLNode)malloc(sizeof(LNode));
  p=head;
  p->next=NULL;
  for(i=0;i<26;i++)
  {q=(PLNode)malloc(sizeof(LNode));
  q->character='a'+i;
  q->next=NULL;
  p->next=q;
  p=q;
  }
  return PLNode;
  }

  int Length(PLNode head)/*求长度*/
  {int n=0;
  PLNode p;
  p=head->next;
  while(p)
  {n++;
  p=p->next;
  }
  return n;
  }

  voie Insert(PLNode head,int position,char chr)/*插入到第i的位置*/
  {int i;
  PNLode p,q;
  if(Length(head)+1<position)
  {printf("你要插入的位置不存在!");
  exit(0);
  }
  else
  {p=head;
  i=0;
  while(i<position-1)
  {p=p->next;
  i++;
  }
  q=(PLNode)malloc(sizeof(LNode));
  q->character=chr;
  q->next=p->next;
  p->next=q;
  }
  }

  void Delete(PLNode head,int n)/*删除第n个位置的接点*/
  {int i;
  PNLode p,q;
  if(Length(head)+1<position)
  {printf("你要插入的位置不存在!");
  exit(0);
  }
  else
  {p=head;
  i=0;
  while(i<n-1)
  {p=p->next;
  i++;
  }
  p->next=p->next->next;
温馨提示:答案为网友推荐,仅供参考
相似回答