建立单链表

来源:互联网 发布:nginx 子域名 编辑:程序博客网 时间:2024/05/02 04:51

很简单,却好久都碰过了,记得我出来找工作的时候,别人问我的第一个问题就是链表,C啊C啊,我的伤痛,痛苦挣扎着也要把它继续下去,我知道我很菜,所以我才不放弃。我经常在脑子里假设:如果吴老师没那么早走的话,我会是什么样子?不知道她去哪里了……,我还没有这么怀念一个人

/*头插法建表*/
linklist * CreatListf()
 {
  char ch;
  linklist *head; 
  linklist *s;      
  head = NULL; 
  ch=getchar();  
  while(ch !='$')
  {
  s=(linklist * )malloc (sizeof(linklist)); 
  s->data = ch; 
  s->next = head;
  head = s; 
  ch = getchar();  
  }
  return head;
 }
 /*尾插法建表*/
linklist * CreatListr()
{
 char ch;
 linklist *head,*s,*r;
 head=NULL;
 r=NULL;
 ch = getchar(); 
 while(ch!='$')
 {
  s=(linklist *)malloc (sizeof(linklist));
  s->data=ch;
  if(head == NULL) head=s;
  else r->next=s; 
  r=s; 
  ch=getchar(); 
 }
 if(r!=NULL) r->next=NULL; 
 return head;
}
/*输出链表*/
 void myprint(linklist * head)
 {
  linklist *p;
  p=head->next;
  if(p == NULL) printf("链表为空表!");
  else
   do
   {
   printf("%5c",p->data);
   p = p->next;
   }
   while (p!=NULL);
 printf("/n");
 }
 main()
 {
  linklist * head;
  head=CreatListr();
  printf("新建链表为:");
  myprint(head);
 }

原创粉丝点击