ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

³£¼ûÃæÊÔÌâÖ®Á´±í²Ù×÷(¶þ)
2014-11-24 01:40:45 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:417´Î
Tags£º¼ûÃæ ÊÔÌâ ²Ù×÷
rr2)
{
while(curr1&& curr1->elem< curr2->elem)/*Á´±í1Ö¸ÕëÒƶ¯ÖÁ´ó»òµÈÓÚÁ´±í2µ±Ç°ÔªËصÄλÖÃ*/
prev1=curr1,curr1=curr1->next;


/*ÔÚÁ´±í1ÖвåÈëÁ´±í2µÄµ±Ç°ÔªËØ*/
temp=curr2->next;/*ÔÝ´æÁ´±í2µÄÏÂÒ»¸ö½Úµã*/
prev1->next=curr2;
curr2->next=curr1;


/*Á´±í1Òƶ¯ÖÁнڵã*/
curr1=curr2;
/*Á´±í2Òƶ¯ÖÁÏÂÒ»¸ö½Úµã*/
curr2=temp;
}


return h1;


}


Áù¡¢ÅжÏÁ´±íÊÇ·ñÓл·


¡¡¡¡ÅжÏÁ´±íÊÇ·ñÓл·¼´ÊÇÅжÏÁ´±íÊÇ·ñΪѭ»·Á´±í£¬Ëã·¨½ÏΪ¼òµ¥£¬Ò»´Î±éÀúÅжÏβָÕëÊÇ·ñÖ¸ÏòÍ·Ö¸Õë¼´¿É¡£


¡¡¡¡´úÂëÈçÏ£º


/*ÅжÏÁ´±íÊÇ·ñÓл·(Ñ­»·Á´±í)*/
bool IsCycleList(Node*head)
{
if(NULL== head)
return false;
if(NULL== head->next)
return false;
Node*current=head->next;
while(current)
{
if(head== current->next)
return true;
current=current->next;
}
return false;
}


Æß¡¢×ܽá


¡¡¡¡ÒÔÉÏʵÏÖÁËÁ´±íµÄһЩ³£¼û²Ù×÷£¬Ô´ÎļþLinkList.cppÈ«²¿´úÂëÈçÏ£º


/*
* ×÷Õߣº ´ïÎŶ«
* ÐÞ¸ÄÈÕÆÚ£º 2010-04-28 17:10
* ÃèÊö£º ʵÏÖÁ´±íµÄ³£¼û²Ù×÷
*
*/
#include
#include
using namespace std;


/*µ¥Á´±í½Úµã½á¹¹*/
typedefstruct NodeType
{
char elem;
NodeType*next;
}Node;


/*Ë«Á´±í½Úµã½á¹¹*/
typedefstruct DNodeType
{
char elem;
DNodeType*next;
DNodeType*prev;
}DNode;


/*=============================================================================*/
/*
´´½¨Á´±í
*/
Node* CreateList(Node*head)
{
if(NULL== head)//·ÖÅäÍ·½Úµã¿Õ¼ä
head=(Node*)malloc(sizeof(Node)),
head->next=NULL;


Node*current=head ,*temp;
char ch;


while(1)
{
cout<<¡±\n input elem:¡±;
cin>>ch;
if(¡®#¡¯ == ch)/*#½áÊøÊäÈë*/
break;
temp=(Node*) malloc (sizeof(Node) );
temp->elem=ch;
temp->next=NULL;
current->next=temp;/*µ±Ç°½ÚµãµÄºóÇýÖ¸Ïòнڵã*/
current=temp;/*µ±Ç°½ÚµãΪÁ´±íβ½Úµã*/


}


return head;
}
/*=============================================================================*/
/*
Êä³öÁ´±í
*/
void PrintList(Node*head)
{
Node* current=head->next;
cout<<¡±\n List are:¡±;
while(NULL!= current)
{
if(NULL!= current->elem)
cout<elem;
current=current->next;
}


cout<<¡±\n¡±;
}


/*=============================================================================*/


/*²åÈë½Úµã*/


Node*InsertNode(Node*head ,char elem)
{
if( NULL== head|| NULL== elem )
return head;


Node*current=head->next;/*µ±Ç°½Úµã*/
Node*prev=head;/*Ç°Çý½Úµã*/
Node*temp;/*¹ý¶É½Úµã*/


while(current)/*Òƶ¯ÖÁβ½Úµã*/
{
prev=current;
current=current->next;
}


temp=(Node*) malloc(sizeof(Node) );
temp->elem=elem;
temp->next=NULL;
prev->next=temp;/*β½ÚµãµÄºóÇýÖ¸Ïòнڵã*/


return head;


}


/*=============================================================================*/


/*ɾ³ý½Úµã*/
Node*DeleteNode(Node*head,char elem)
{
if(NULL== head|| NULL== elem)
return head;
if(NULL== head->next)
return head;


Node*prev,*current;
prev=head;
current=head->next;


while(current)
{
if(current->elem== elem)/*Æ¥Åä½ÚµãÔªËØ*/
{
prev->next=current->next;/*Ç°Çý½ÚµãµÄºóÇýÖ¸Ïòµ±Ç°½ÚµãµÄÏÂÒ»¸ö½Úµã*/
free(current);/*Êͷŵ±Ç°½Úµã*/
return head;
}
prev=current;
current=current->next;/*Òƶ¯ÖÁÏÂÒ»¸ö½Úµã*/
}


return head;


}


/*=============================================================================*/


/*µ¥Á´±íÄæÖÃ*/
Node*ReverseList(Node*head)
{
if(NULL== head)
return head;
if(NULL== head->next)
return head;
if(NULL== head->next->next)
return head;


Node*curr=head->next;/*µ±Ç°½Úµã*/
head->next=NULL;
Node*temp;


while(curr)
{
temp=curr->next;/*ÔÝ´æÏÂÒ»¸ö½Úµã*/
/*°Ñµ±Ç°½Úµã²åÈëµ½head½Úµãºó*/
curr->next=head->next;
head->next=curr;


curr=temp;/*Òƶ¯ÖÁÏÂÒ»¸ö½Úµã*/
}


return head;


}


/*=============================================================================*/


/*ÇóÖмä½Úµã*/
Node* MiddleNode(Node*head)
{
if(NULL== head)
return head;
if(NULL== head->next)
return head->next;


Node*p1,*p2;
p1=head;
p2=head;


while(p2->next)
{
/*p2½ÚµãÒƶ¯2¸ö½ÚµãλÖÃ*/
p2=p2->next;
if(p2->next)/*ÅжÏp2ºóÇý½ÚµãÊÇ·ñ´æÔÚ£¬´æÔÚÔòÔÙÒƶ¯Ò»´Î*/
p2=p2->next;
/*p1½ÚµãÒƶ¯1¸ö½ÚµãλÖÃ*/
p1=p1->next;


}
return p1;


}


/*====================

Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 ÏÂÒ»Ò³ βҳ 2/3/3
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºJava Web³õ¼¶¿ª·¢¹¤³ÌʦÈëÃż¶±Ê.. ÏÂһƪ£º¹ãÖÝC++/MFCÊÔÌâ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿