利用栈来实现单链表的逆序

2014-11-23 21:36:46 · 作者: · 浏览: 96

  #include


  # include


  #define stacksize 100


  typedef int datatype;


  typedef struct


  {


  datatype data[stacksize];


  int top;


  }seqstack;


  typedef struct node{


  datatype data;


  struct node *next;


  }listnode;


  typedef listnode *linklist;


  linklist head;


  linklist p;


  int count;


  linklist creatlist(int n)


  {


  linklist head;


  listnode *p1,*p2;


  int i;


  head=(linklist)malloc(sizeof(listnode));


  head->next=NULL;


  p2=head;


  printf("Please input the records of the chain!\n");


  for(i=0;i


  {


  p1=(linklist)malloc(sizeof(listnode));


  scanf("%d",&p1->data);


  p1->next=p2->next;


  p2->next=p1;


  p2=p1;


  }


  return (head);


  }


  void print(linklist head,int n)


  {