1. 程式人生 > >單鏈表倒序輸出

單鏈表倒序輸出

#include "iostream.h"
struct node//定義結點結構型別
{
    char data;
    node *next;
};
node *create();//建立連結串列的函式
void showList(node * head);//遍歷連結串列的函式,引數為表頭
node *search(node * head,char keyWord);//查詢結點
void insert(node *& head,char keyWord,char newdata);//插入結點
void Delete(node *& head,char keyWord);//刪除結點
void destroy(node *& head);//清除連結串列
void reverse(node *& head);//實現連結串列倒置

int main()
{
    node *head=NULL;
    head=create();
    showList(head);
    cout <<"After reversed..." <<endl;
    reverse(head);
    showList(head);
    destroy(head);
    return 0;
}

void reverse(node *& head)

{
    node *newhead=NULL;
    node *p;
    while(head!=NULL)
    {
        p=head;
        head=head->next;
        newhead->next=p;
        newhead=p;
    }
    head=newhead;

}

//其它函式就不一一列出了,幫我看看倒置這個函式哪裡有問題。

編譯能通過,就是執行會出問題。