根据文件数据结构实验要求来完成补充两个代码文件,使其能够符合实验要求,用C++来写
时间: 2024-10-13 15:17:05 浏览: 41
为了满足实验要求,您需要在`linearList.h`与`linearList.cpp`这两份文件中进行代码编写工作。以下是对两份文件所需编写的概要:
### linearList.h
在这份头文件里应定义好所有必需的数据结构及函数原型。比如顺序表(sequenceList)以及链表(linkList)的类声明,并且确保现有的函数声明保持不变。下面展示一个简化版的例子供参考:
```cpp
#ifndef LINEARLIST_H
#define LINEARLIST_H
#include <iostream>
class sequenceList {
public:
sequenceList(const int& capacity, const int& initSize, float initArray[]);
~sequenceList();
// ... 其他成员函数声明 ...
private:
float* myList;
int maxCapcity;
int curNumberOfItem;
};
class linkList {
public:
class listNode {
public:
float data;
listNode* next;
listNode(float nodeData, listNode* succ);
~listNode();
};
linkList(const int& initSize, float initArray[]);
linkList();
~linkList();
// ... 其他成员函数声明 ...
private:
listNode *firstNode, *lastNode;
int listSize;
};
#endif // LINEARLIST_H
```
### linearList.cpp
这个源码文件负责实现`linearList.h`中声明的所有功能。同样提供一个简化版本以帮助理解如何开始实现这些功能:
```cpp
#include "linearList.h"
// sequenceList 构造函数实现
sequenceList::sequenceList(const int& capacity, const int& initSize, float initArray[])
: maxCapcity(capacity), curNumberOfItem(initSize) {
myList = new float[capacity];
for (int i = 0; i < initSize; ++i) {
myList[i] = initArray[i];
}
}
// sequenceList 析构函数实现
sequenceList::~sequenceList() {
delete[] myList;
}
...
// listNode 构造函数实现
linkList::listNode::listNode(float nodeData, listNode* succ)
: data(nodeData), next(succ) {}
// listNode 析构函数实现
linkList::listNode::~listNode() {}
// linkList 构造函数实现
linkList::linkList(const int& initSize, float initArray[])
: listSize(initSize), firstNode(new listNode()), lastNode(firstNode) {
listNode* temp = firstNode;
for (int i = 0; i < initSize; ++i) {
temp->next = new listNode(initArray[i]);
temp = temp->next;
if (i == initSize - 1) lastNode = temp;
}
}
// linkList 默认构造函数实现
linkList::linkList()
: firstNode(new listNode()), lastNode(firstNode), listSize(0) {}
// linkList 析构函数实现
linkList::~linkList() {
listNode* temp;
while (firstNode != nullptr) {
temp = firstNode;
firstNode = firstNode->next;
delete temp;
}
}
...
```
请注意以上只是示范性的代码片段,请根据实际需求完整地实现所有要求的功能。
阅读全文