データ構造——3単鎖表逆方向

1360 ワード

シングルチェーン表——逆方向
シングルチェーンの逆転
#include
using namespace std;
struct node       //node   ,     node  ,       node  
{
	int x;
	node *next;   //         ,         
};

node* create(int n)             //    ,  n       ,         node*
{
	node *head=new node;    //     
	node *p=head;           //        node  


	for(int i=0;ix=rand()%100;
		p->next=temp;            // p next     temp,           
		p=temp;                  // p     temp, p        
	}
	p->next=NULL;                    //     ,p->next  NULL


	return head;
}

void display(node *head)             //    
{ 
	node *p;
	p=head->next;                //p             , for          
	if(p==NULL)
		cout<x<next;
	}
	cout<next;             //p       
	s=p->next;                //s       
 
	p->next=NULL;             //        NULL


	while(s!=NULL)
	{	
		r=s->next;            //r  s      
		s->next=p;            //s    p
		p=s;                  //p           
		s=r;                  //s           
	}


	head->next=p;             //       ,           p


	return head;


}

int main()
{
	node *list; 
	list=create(10);           //    
	display(list);             //         


	node* rev=reverse(list);   //     ,     
	display(rev);
	
	return 0;
}