流星划过123 2016-03-28 08:38 采纳率: 50%
浏览 1634
已采纳

单链表具体实现实现reverse

用c++语言写,需要完整的程序,能运行的
将链表的顺序颠倒过来,最好写清楚指针的具体实现的过程 谢谢谢谢

  • 写回答

3条回答

  • lx624909677 2016-03-28 08:46
    关注
     #include<iostream>
    using namespace std;
    const int N=6;
    typedef int DataType;//类型定义
    typedef struct node{ //单链表
          DataType data;
          struct node* next;
    }LinkedNode,*LinkList;
    /****由数组创建单链表****/
    LinkList CreateList(DataType a[N])
    {
        LinkedNode* ListHead=new LinkedNode();
        ListHead->data=a[0];
        ListHead->next=NULL;
        for(int i=N-1;i>=1;i--)
        {
            LinkedNode* p=new LinkedNode();
            p->data=a[i];
            p->next=ListHead->next;
            ListHead->next=p;
        }
        return ListHead;
    }
    /****输出单链表****/
    void PrintList(LinkList ListHead)
    {
        if(NULL==ListHead)cout<<"The List is empty!"<<endl;
        else
        {
            LinkedNode* p=ListHead;
            while(p!=NULL)
            {
                cout<<p->data<<" ";
                p=p->next;
            }
            cout<<endl;
        }
    }
    void ReverseList(LinkedNode* pCur,LinkList& ListHead)
    {
        if( (NULL==pCur)||(NULL==pCur->next) )
        {
            ListHead=pCur;
        }
        else
        {
            LinkedNode* pNext=pCur->next;
            ReverseList(pNext,ListHead); //递归逆置后继结点
            pNext->next=pCur;            //将后继结点指向当前结点。
            pCur->next=NULL;
        }
    }
    int main()
    {
        int a[N]={1,2,3,4,5,6}; 
        LinkedNode* list=CreateList(a);
        PrintList(list);
        LinkedNode*pTemp=list;
        ReverseList(pTemp,list);
        PrintList(list);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置