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

问题描述

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

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

解决方案

 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)
 {
 /* 自己写 */
 }

解决方案二:

修改一下

  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)
 {
 /* 自己写 */
 }
时间: 2024-10-24 10:00:06

c++ 数据结构-数据结构c++循环单链表问题,急!!的相关文章

c++ 数据结构-数据结构c++单链表问题 急!!

问题描述 数据结构c++单链表问题 急!! 5C SinglyList& operator*=(SinglyList &list) //仅保留那些也包含在list中的元素,集合交 解决方案 单链表逆序的C++实现 解决方案二: http://ask.csdn.net/questions/253462

数据结构体模版---循环单链表

版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme [cpp] view plain copy print? #include <stdio.h>   #include <stdlib.h>   #include <stdbool.h>   #include <assert.h>      //#define DEBUG             // 调试插桩信息宏      //

数据结构之自建算法库——循环单链表

本文针对数据结构基础系列网络课程(2):线性表中第13课时循环链表. 按照"0207将算法变程序"[视频]部分建议的方法,建设自己的专业基础设施算法库. 双链表算法库算法库采用程序的多文件组织形式,包括两个文件: 1.头文件:clinklist.h,包含定义双链表数据结构的代码.宏定义.要实现算法的函数的声明: #ifndef CLINKLIST_H_INCLUDED #define CLINKLIST_H_INCLUDED //循环单链表基本运算函数 typedef int Elem

数据结构算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数。

问题描述 数据结构算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数. 算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数. 解决方案 int n = 0; while (L != NULL) { L = L->next; n++; } 解决方案二: /* counts the nodes in the list / int fuc(struct list head) { void *tmp; int i; if(!head) return -1; for(i = 1, tm

@数据结构大神,单链表的插入,56行怎么错了?求解释~

问题描述 @数据结构大神,单链表的插入,56行怎么错了?求解释~ include include typedef struct Node { char data; struct Node *next; }Node,*Linklist;//先定义.后使用 //定义数据L-分配头节点-插入数据,连-接-返回 Linklist Createfromhead() { Linklist L;Node*s;int flag=1;char c; L=(Linklist)malloc(sizeof(Node))

为什么不允许删除循环单链表中最后一个结点?如何解决?

问题描述 为什么不允许删除循环单链表中最后一个结点?如何解决? /*****************************************************/ /* 函数功能:建立一个空的循环单链表 / / 函数参数:无 / / 函数返回值:指向node类型变量的指针 / / 文件名:clnkinit.c,函数名init() / /****************************************************/ node init() /建立一个空的循环

数据结构学习(C++)之单链表

节点类 #ifndef Node_H#define Node_Htemplate <class Type> class Node //单链节点类{ public: Type data; Node<Type> *link; Node() : data(Type()), link(NULL) {} Node(const Type &item) : data(item), link(NULL) {} Node(const Type &item, Node<Type&

c++ 数据结构-实现以下对单链表的操作,要求单链表一次遍历效率(数据结构c++)

问题描述 实现以下对单链表的操作,要求单链表一次遍历效率(数据结构c++) double averageExceptMaxMin(SinglyList &list) ?//去掉最高分和最低分,再求平均值 解决方案 double averageExceptMaxMin(SinglyList &list){ double d = 0.0; int n = 0; double max = 0.0; double min = 0.0; Node * node = &list.head; w

数据结构C#版笔记--单链表(LinkList)

上一篇学习了"顺序表(SeqList)",这一篇来看下"单链表(LinkList)".在上一篇的最后,我们指出了:顺序表要求开辟一组连续的内存空间,而且插入/删除元素时,为了保证元素的顺序性,必须对后面的元素进行移动.如果你的应用中需要频繁对元素进行插入/删除,那么开销会很大.   而链表结构正好相反,先来看下结构: 每个元素至少具有二个属性:data和next.data用来存放数据,而next用来指出它后面的元素是谁(有点"指针"的意思). 链