2 bsj1995 BSJ1995 于 2016.05.02 19:00 提问

数据结构c++循环单链表问题,急!! 5C

CirSinglyList& operator+=(CirSinglyList &list) //尾插入list,集合并

2个回答

ArthurJava
ArthurJava   2016.05.02 20:41
 CirSinglyList& operator+=(CirSinglyList &list)
 {
     CirSinglyList *p = this;
     while(p->next != NULL)
         p = p->next;
     while(list->next != NULL)
     {
         p->next = new CirSinglyList();
         p->next = list;
         p = p->next;
     }
     p->next = NULL;
     return this;
 }
 CirSinglyList & operator=(CirSinglyList &list)
 {
 /* 自己写 */
 }
ArthurJava
ArthurJava   2016.05.02 23:00

修改一下

  CirSinglyList& operator+=(CirSinglyList &list)
 {
     CirSinglyList *p = this;
     while(p->next != NULL)
         p = p->next;
     while(list->next != NULL)
     {
         p->next = new CirSinglyList();
         p->next = list;
         p = p->next;
        list = list->next;
     }
     p->next = NULL;
     return this;
 }
 CirSinglyList& operator=(CirSinglyList &list)
 {
 /* 自己写 */
 }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c++ 数据结构 用循环单链表解决约瑟夫问题
循环链表为单链表的变形,与单链表的区别在于循环链表的尾结点的指针域不是空,存放的是首结点的地址,因此判断表空的条件不是first->Link==NULL;而是first->Link==first; 约瑟夫问题的求解关键为把围坐一圈的人抽象成循环单链表的数据结构。
【c++版数据结构】之循环单链表的实现(带头结点以及尾节点)
所实现的单链表的结构如下图所示: 循环单链表的实现,和上一篇文章单链表的实现大致相同点击打开链接,略有区别: 1:循环判断的条件不再是s == NULL或者s->next == NULL,而是他们是否等于头指针。2: 断开链表时的处理,尾节点的next不是NULL,而是指向头结点 具体细节参考上一篇文章 头文件:SCList.h #ifndef SCLIST_H #define
数据结构与算法(4、约瑟夫环问题到循环链表)
首先先解释约瑟夫环问题,这个问题,背景其实挺残酷的,来自于一场自杀游戏,举个现实的例子,如果你有4个朋友,但是只能给一个人带饭,那么做这样的游戏,4个人围成一个环,你说从1开始数,数到2,就淘汰掉2,剩下的继续围成一个环,在继续这个游戏,直到剩下一个为止。 表达能力有限,直接百度百科! 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编
循环单链表实现约瑟夫环问题
问题: 编号为1,2,3,,,n的n个人按顺时针围坐一起,每人有一个正整数密码。一开始任选一个整数作为报数上限值m,从第一个人开始按顺时针向自1开始顺序报数,报到m的停止,出列,并把出列的人手中的密码作为新的m值,从接下来的下一个人接着从一开始报数,依次所有人出列 利用单向循环链表实现,按照数列的顺序的打印个人的编号 例如,m=6; n=7; 7个人的密码分别为 3 1 7 2 4 8
基于java的数据结构学习手记8--循环单链表及其应用约瑟夫环
-
程序员面试宝典之数据结构基础----循环链表(约瑟夫环问题)
关于循环链表,即单链表的为指针指向头结点,当然在建立循环链表的时候可以将链表的为指针指向头结点,但本例用的是先建立一个只有一个节点的循环链表(即next指针指向自己结点),然后再在此循环链表中插入节点,实现最终的循环链表(见代码),这里我默认指定了一个“伪头结点”的节点(即刚开始建立的节点),即使在后面寻找第K个节点的时候也是用到了这个“伪头结点”。 #include #include
数据结构练习题 约瑟夫环—用循环链表实现
#include"stdio.h" #include"stdlib.h" /*writer id: liu*/ typedef struct Node { int id; int password; struct Node* next;}Node;void CreatList(Node *phead,int n) { int i = 1; Node *pnew = NULL;
数据结构之---c语言实现循环单链表操作
数据结构之---c语言实现循环单链表操作
Josephus问题C++单循环链表实现
这个完全符合课本上习题的要求,我作业交的就是这个,我自己还在里面做了详细的注释
【数据结构】用C++实现单循环链表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
//头文件 #ifndef _LIST_H #define _LIST_H #include using namespace std; template class CList; template class ListNode { friend class CList; public: ListNode() :data(Type()), next(NULL) { } Lis