[ create a new paste ] login | about

Link: http://codepad.org/uXUnowLl    [ raw code | output | fork ]

C++, pasted on Apr 9:
#include<iostream>
using namespace std;
struct Node
{ int data;
  Node *next;
};
void insert(Node *&head,int num)
{ Node *s,*p,*q;
  s=new Node;
  s->data=num;
  s->next=NULL;
  if(head==NULL)
  { head=s;
    return;
  }
  if(head->data>s->data)
  { s->next=head;
    head=s;
    return;
  }
  for(q=head,p=head->next;p;q=p,p=p->next)
   if(p->data>s->data)
   { s->next=p;
     q->next=s;
     return;
   }
   q->next=s;
   return;
}
void ShowNode( Node *head)
{cout<<"now the items of list are:";
 while(head)
 { cout<<head->data<<" ";
   head=head->next;}
   cout<<endl;
}
void ReverseList1(Node *head1)
{
if (head1->next != NULL)
ReverseList1(head1->next);
cout<<head1->data<<" ";
}
void ReverseList(Node *head)
{ cout<<"now the change items of list are:";
/*    Node *s,*p,*q;
 if(head==NULL||head->next==NULL)
  {return;}
  s=head->next;
  p=s->next;
  s->next=NULL;
  while(p)
  {q=s->next;
    p->next=s;
    s=p;
    p=q;
    head->next=s;
cout<<head->data<<" ";
   head=head->next;
   }cout<<endl;
*/
ReverseList1(head);
}


int main()
{ int k;
  Node *head=NULL;
for (k=1; k <= 5; k++)
    insert(head,k);
ShowNode(head);
ReverseList(head);
}


Output:
1
2
now the items of list are:1 2 3 4 5 
now the change items of list are:5 4 3 2 1 


Create a new paste based on this one


Comments: