//æ¹æ³ä¸éåä¸éé¾è¡¨ï¼å©ç¨ä¸ä¸ªè¾
å©æéï¼
//åå¨éåè¿ç¨ä¸å½åæéæåçä¸ä¸ä¸ªå
ç´ ï¼
//ç¶åå°å½åèç¹å
ç´ çæéå转åï¼
//å©ç¨å·²ç»åå¨çæéå¾åé¢ç»§ç»éå
struct linka
{
int data;
linka* next;
};
void reverse(linka*& head)
{
if(head ==NULL)
return;
linka *pre, *cur, *ne;
pre=head;
cur=head->next;
while(cur)
{
ne = cur->next;
cur->next = pre;
pre = cur;
cur = ne;
}
head->next = NULL;
head = pre;
}
// æ¹æ³äºï¼å©ç¨éå½çæ¹æ³ã
//è¿ç§æ¹æ³çåºæ¬ææ³æ¯å¨å转å½åèç¹ä¹åå
è°ç¨éå½å½æ°å转åç»èç¹
//ä¸è¿è¿ä¸ªæ¹æ³æä¸ä¸ªç¼ºç¹ï¼å°±æ¯å¨å转åçæåä¸ä¸ªç»ç¹ä¼å½¢æä¸ä¸ªç¯ï¼
//æ以å¿
é¡»å°å½æ°çè¿åçèç¹çnextå置为NULLã
//å 为è¦æ¹åheadæéï¼æ以ç¨äºå¼ç¨ãæºä»£ç å¦ä¸ï¼
linka* reverse(linka* p,linka*& head)
{
if(p == NULL || p->next == NULL)
{
head=p;
return p;
}
else
{
linka* tmp = reverse(p->next,head);
tmp->next = p;
return p;
}
}
温馨提示:答案为网友推荐,仅供参考