C 节点类,链接列表,LIFO,FIFO
C++ Node class, linked list, LIFO, FIFO
我必须编写一个"程序员友好"链接列表。我有两个课程,您的主班和您的节点课。我的节点类是我的数据结构,必须包含下面列出的信息。所有节点信息都将包含在节点类中。我的主要课程应该是调用节点函数的驱动程序。
主类应包含:
- 代码调用节点类以附加到您的结构中,lifo
- 代码调用节点类以附加到您的结构中,fifo
- 调用节点类以显示您的结构的代码
您的节点类应执行以下操作:
- 商店:用户ID,用户名,密码,名字,姓氏,头和下一个。
- appendfifo函数:将取1个整数和4个字符串
- appendlifo函数:将取1个整数和4个字符串
- 显示功能:不会进行参数
注意:
- 我有2个类节点和您的主类
- 我在您的主类中有两个节点对象,一个用于FIFO,一个用于Lifo
- 我的节点类是您可以跟踪下一个节点的位置以及头部的位置,请勿在主班的内部进行此操作。
- 请勿更改您将节点插入的顺序以获取LIFO结构和FIFO结构。(例如,我为FIFO和LIFO均提供有关Zackary Moore的第一个附加功能调用)
- 请勿更改您在节点中显示的顺序以获取LIFO结构和FIFO结构。您应该只有一个显示功能。
- 您必须在主类中插入至少10个用户信息。
我的node.cpp代码看起来像这样:它正在抛出此错误:异常抛出:读取访问违规。这是nullptr。
#include "stdafx.h"
#include "Node.h"
#include "iomanip"
Node::Node()
{
}
Node::~Node()
{
}
void Node::AppendFIFO(int id, string userName, string password, string fName, string lName)
{
}
void Node::AppendLIFO(int id, string userName, string password, string fName, string lName)
{
//cout << "Yo" << endl;
Node *curNode;
curNode = head;
cout << "user name:" << userName.length();
cout << "Password:" << password.length();
cout << "f name:" << fName.length();
cout << "l name:" << lName.length();
while (curNode != nullptr)
{
curNode = curNode->next;
}
}
void Node:: display()
{
}
我的node.h文件看起来像
#pragma once
#include "iostream"
#include "string"
#include "iomanip"
using namespace std;
class Node
{
public:
Node();
~Node();
void AppendFIFO(int, string, string, string, string);
void AppendLIFO(int, string, string, string, string);
void display();
private:
int ID;
string userName;
string password;
string firstName;
string lastName;
Node *next;
Node *head;
};
我的main.cpp文件的代码看起来像
#include "stdafx.h"
#include "iostream"
#include "string"
#include "Node.h"
#include "iomanip"
using namespace std;
int main()
{
Node *LIFO = nullptr;
Node *FIFO = nullptr;
//The 10 users information for LIFO
LIFO->AppendLIFO(10, "postMalone", "Asdkc34D", "Austin", "Post");
LIFO->AppendLIFO(9, "h20", "akdjW78v", "Benny", "Washington");
LIFO->AppendLIFO(8, "testing", "aklc5kaS", "Timmy", "Trump");
LIFO->AppendLIFO(7, "Rob-by", "robby3939", "Robert", "Malone");
LIFO->AppendLIFO(6, "TracyLMoore", "Moore098", "Tracy", "Moore");
LIFO->AppendLIFO(5, "Billybill", "Bb234", "Bill", "Prescott");
LIFO->AppendLIFO(4, "beth-09", "09ASDN", "Beth", "Richards");
LIFO->AppendLIFO(3, "Gabe123", "123ilkkSW", "Gabriel", "Smith");
LIFO->AppendLIFO(2, "sthomas", "sthom56712", "Shannon", "Thomas");
LIFO->AppendLIFO(1, "bob", "LKJG840", "Bobby", "Steve");
LIFO->AppendLIFO(0, "zmoore00", "00SDJ", "Zackary", "Moore");
//The 10 users information for FIFO
FIFO->AppendFIFO(10, "postMalone", "Asdkc34D", "Austin", "Post");
FIFO->AppendFIFO(9, "h20", "akdjW78v", "Benny", "Washington");
FIFO->AppendFIFO(8, "testing", "aklc5kaS", "Timmy", "Trump");
FIFO->AppendFIFO(7, "Rob-by", "robby3939", "Robert", "Malone");
FIFO->AppendFIFO(6, "TracyLMoore", "Moore098", "Tracy", "Moore");
FIFO->AppendFIFO(5, "Billybill", "Bb234", "Bill", "Prescott");
FIFO->AppendFIFO(4, "beth-09", "09ASDN", "Beth", "Richards");
FIFO->AppendFIFO(3, "Gabe123", "123ilkkSW", "Gabriel", "Smith");
FIFO->AppendFIFO(2, "sthomas", "sthom56712", "Shannon", "Thomas");
FIFO->AppendFIFO(1, "bob", "LKJG840", "Bobby", "Steve");
FIFO->AppendFIFO(0, "zmoore00", "00SDJ", "Zackary", "Moore");
system("pause");
return 0;
}
我无法弄清楚该错误是什么问题。我也无法弄清楚如何确定一组字符串中最长字符串的长度,然后将其存储以用于适当的显示。
它正在抛出此错误:抛出异常:读取访问违规。这是nullptr。
您的程序从执行
开始int main() { Node *LIFO = nullptr; ... LIFO->AppendLIFO(10, "postMalone", "Asdkc34D", "Austin", "Post");
和in node :: appendlifo 你做
curNode = head;
因此,您尝试访问 head 而是 nullptr ,然后您稍后使用未定义的结果进行
curNode = curNode->next;
当前您的程序永远不会创建 node 的实例,它不能像
相关文章:
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- RAII 等效于 FIFO 发布订单
- 使用堆的优先级队列,具有相同键的值不遵循 FIFO(先进先出)
- 相当于Linux fifo的Windows
- 使用信号处理程序处理从 FIFO 接收的数据
- FIFO块程序,直到其他进程读取
- 对 FIFO 的轮询立即在 HP-UX 中返回
- 如何重新启用由另一端关闭的 istream FIFO
- 如何通过fifo使用protobuf的SerializeToOstream和ParseFromIstream进行IPC?
- 如何将 boost::beast 中的序列化数据转换为字符串,以便我可以以 FIFO 方式处理它?
- C 节点类,链接列表,LIFO,FIFO
- 用管道在C++中创建调度队列/线程处理程序:FIFO溢出
- C++优先级队列不遵循 FIFO 顺序
- 是否有任何对象可以用作FIFO和弹出数据的事件
- 阅读FIFO:为什么会阻止然后进行非阻滞
- X&0 Game IPC FIFO 窗口
- Qt的事件循环是FIFO吗?
- 检查文件是否是C++中的命名管道 (fifo)
- 在无锁FIFO缓冲区中删除了节点检测