- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在不使用 STL 的情况下创建一个数组链表。但是,我在将数组传递到我的链接列表时遇到困难...
编译时出现上面列出的错误。我需要如何将数组传递给链表?谢谢! (有问题的代码有**标记,如果测试请去掉)
单链表.h
#pragma once
#ifndef SinglyLinkedList_h
#define SinglyLinkedList_h
#include<iostream>
template <typename Type>
struct node
{
Type value;
node *next;
};
template <typename Object>
class SinglyLinkedList
{
private:
node<Object> *head;
public:
SinglyLinkedList();
~SinglyLinkedList();
bool insert(Object x);
bool empty();
};
template <typename Object>
SinglyLinkedList<Object>::SinglyLinkedList()
{
this->head = NULL;
}
template <typename Object>
bool SinglyLinkedList<Object>::insert(Object x)
{
node<Object> *temp = new node<Object>;
temp->value = x;
temp->next = NULL;
if (this->head==NULL)
{
this->head = temp;
}
else
{
node<Object> *S = this->head, *P = S;
while ((S->value < temp->value)&&(S != NULL))
{
S = S->next;
P = S;
}
if(S == NULL)
temp->next = P;
else
{
temp->next = S;
P->next = temp;
}
}
return true;
}
template <typename Object>
bool SinglyLinkedList<Object>::empty()
{
if(this->head == NULL)
return true;
else
return false;
}
template <typename Object>
SinglyLinkedList<Object>::~SinglyLinkedList()
{
delete this->head;
}
#endif
动态数组类.h
#pragma once
#ifndef DynamicArrayClass_h
#define DynamicArrayClass_h
#include<iostream>
template <class T>
class DynamicArrayClass
{
private:
T *array;
int size, numItems;
public:
DynamicArrayClass(int newSize)
{
size = newSize;
numItems=0;
array = new T[size];
}
int GetSize(){ return size;}
int GetNumItems() const { return numItems; }
bool isEmpty() const { return numItems==0; }
bool isFull() const { return numItems==size; }
bool addItem (const T &object)
{
if(isFull())
{
return false;
}
else
{
array[numItems++] = object;
return true;
}
}
const T& getItem(int index) {return array[index];}
void makeEmpty()
{
numItems = 0;
}
~DynamicArrayClass()
{
if(array !NULL)
delete [] array;
}
};
#endif
主要.cpp
#include "DynamicArrayClass.h"
#include "SinglyLinkedList.h"
#include "stopwatch.h"
#include<iostream>
int main()
{
int totalCapacity = 0;
int arrayAddSize = 0;
while(totalCapacity < 10000)
{
if(totalCapacity==0)
{
DynamicArrayClass<int> *array1 = new DynamicArrayClass<int>(25);
totalCapacity = 25;
SinglyLinkedList<DynamicArrayClass<int>> *list = new SinglyLinkedList<DynamicArrayClass<int>>();
for(int i = 0; i<25; i++)
{
array1->addItem(1);
}
**list->insert(*array1);**
}
else
{
arrayAddSize = (totalCapacity/2);
totalCapacity = totalCapacity + arrayAddSize;
DynamicArrayClass<int> *array = new DynamicArrayClass<int>(arrayAddSize);
SinglyLinkedList<DynamicArrayClass<int>> *list = new SinglyLinkedList<DynamicArrayClass<int>>();
for(int i=0; i <arrayAddSize; i++)
{
array->addItem(1);
}
}
}
return 0;
}
最佳答案
问题出在insert
这部分:
node<Object> *temp = new node<Object>;
其中 node
包含一个 Object
。要构建它,Object
需要一个默认构造函数。
也许您可以向 node
添加一个构造函数来复制它必须存储的值?这样就可以了,例如:
node<Object> *temp = new node<Object>(x, NULL);
关于C++ "No appropriate default constructor available",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401147/
我有一个数据集,其列如下所示: Consumer ID | Product ID | Time Period | Product Score 1 | 1 | 1
举个例子。有一个我想使用的对象,称它为 Doodad。 Doodad 元素对浏览器事件的处理很差。 Doodad 的典型实例是 Doodad someDoodad = new Doodad();。显然
我正在构建一个基于 Java 的 Web 应用程序(主要是使用 Tomcat 部署的 JSP)。用户数量永远不会超过 30 人。它是一个工作日志,因此用户将不断更新/访问数据库 (SQL Server
我有一个名为 account 的抽象类,如下所示 - abstract class Account { private int number; private String owner
我目前忙于响应式字体大小。我很清楚 vh、vw、vmin 等单位的含义。 但我无法与他们一起完成令人信服的事情。它们要么在大屏幕上变大,要么在小屏幕上变小。反之亦然。 是否有任何适用于哪些值的一般规则
我定义了一个名为“FilterCriteria”的类,它有一堆与之关联的函数 .m 文件(getAMask、getBMask 等)。当我创建 FilterCriteria 对象并使用它调用函数时,我没
我正在尝试保存具有“类似论坛”结构的数据: 这是简化的数据模型: +---------------+ | Forum | | | | Name
我正在寻找一种在 Java 中验证数据库模式是否正常、默认值是否正常、触发器是否正常的方法。我找到了很多框架来测试数据库交互,但找不到可以让我测试表和模式的东西。有什么框架吗?如果数据库尚未同步,它将
题目地址:https://leetcode.com/problems/friends-of-appropriate-ages/description/ 题目描述: Some people will
我有以下代码: fn main() { let get = |v: &u32| -> &u32 { v }; let x : u32 = 0; let
在下面的代码中选择适当的 Web 服务方法的逻辑是什么? 客户: HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic
背景:我正在创建一个返回切片引用的迭代器 &[T] ,但数据向量需要保持不变。迭代器不能修改原始数据,但修改后必须重复返回同一个切片指针。我考虑过让我的迭代器拥有一个 Vec ,但我想避免这种情况(而
我有一个接受枚举引用的函数,我需要通过匹配枚举并读取其内容来解析它。枚举的一种变体(不在下面的简化的最小工作示例中)可能包含枚举本身的类型作为值,因此我可能需要递归调用相同的函数来解析它的值。 我想编
DROP TABLE temp; CREATE TABLE `temp` ( `CallID` bigint(8) unsigned NOT NULL,
无法编译以下内容。这里有什么问题吗? class B; class A { public: void DoSomething() { ... B* my
我在 Wheel of Luck Game 中需要其他帮助。我需要在 6 个 div 中选择 3 个 DIV。但是如果我选择如下图所示的 div 会发生什么,它将分别选择 6 No DIV 而不是 5
我想在不使用 STL 的情况下创建一个数组链表。但是,我在将数组传递到我的链接列表时遇到困难... 编译时出现上面列出的错误。我需要如何将数组传递给链表?谢谢! (有问题的代码有**标记,如果测试请去
我正在使用 Entity Framework 作为我的 ORM 对两个 SQL 函数进行连接。执行查询时,我收到此错误消息: The query attempted to call 'Outer Ap
我所做的只是导入一个 npm 包 import TimePicker from 'simple-timepicker-react' render () { return (
我有一个使用 bower 和 webpack 的 React 项目。 我正在尝试使用这个模块 https://github.com/jrowny/react-absolute-grid . 我用 np
我是一名优秀的程序员,十分优秀!