单链表倒序输出

时间:2023-02-13 20:36:08

#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;

}

//其它函数就不一一列出了,帮我看看倒置这个函数哪里有问题。

编译能通过,就是运行会出问题。

单链表倒序输出