加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

(3)编写实现带头结点单链表就地逆置的成员函数,并编写主函数测试结果。

(2012-05-29 18:42:05)
标签:

单链表

数据元素

结点

测试结果

函数

it

#include <stdio.h>
typedef struct node
{ int data;
  struct node *next;
}linklist;


linklist *CREATLINKLISTR()
{int a;
 linklist *head,*s,*r;
 head=(linklist*)malloc(sizeof(linklist));
 r=head;
 printf("请输入单链表中的数据元素\n");
 scanf("%d",&a);
 while(a!=1)
 {
  s=(linklist*)malloc(sizeof(linklist));
  s->data=a;
  r->next=s;
  r=s;
  scanf("%d",&a);
 }
 r->next=NULL;
 return head;
}



void *PRINTLINKLIST(linklist *q)
{
  while(q)
  {
    printf("%d ",q->data);
    q=q->next;
  }
}


linklist *InverseLinklist(linklist *q)
{linklist *p,*head;
 p=head->next;
 if(p!=NULL)
   {
    p=p->next;
    head->next->next=NULL;       
   }
 while(p!=NULL)
 {
  q=p->next;
  p->next=head->next;
  head->next=p;
  p=q;            
 }
 printf("\n单链表被逆置后为\n");
 PRINTLINKLIST(head->next);       
}

int main()
{linklist *p;
 p=CREATLINKLISTR();
// PRINTLINKLIST(p->next);
 InverseLinklist(p);
 getchar();
 getchar();  
}


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有