实验1 设计定义头文件SeqList.h,给出顺序表结构和操作(5个)的定义;然后设计定义源文件(main.c)将1、2、3、4、5、6、7、8、9、10存入顺序表中,然后,在元素5前插入100
时间: 2024-10-08 18:22:44 浏览: 37
实验1的设计主要是关于顺序列表(SeqList)的数据结构及其基本操作。首先,我们会在`SeqList.h`头文件中定义:
```cpp
// SeqList.h
#ifndef _SEQLIST_H_
#define _SEQLIST_H_
#include <iostream>
class SeqList {
public:
// 定义顺序表的基本类型
typedef int Element;
// 构造函数和析构函数
SeqList();
~SeqList();
// 插入元素到列表头部
void insertAtHead(Element value);
// 在特定位置插入元素
void insertBefore(Element target, Element value);
// 删除指定元素
bool remove(Element value);
// 打印列表内容
void printList();
// 获取列表长度
size_t getLength() const;
private:
// 存储数据的动态数组
Element* data;
size_t length;
};
#endif // _SEQLIST_H_
```
接下来,`main.c`源文件会实现上述功能:
```cpp
// main.c
#include "SeqList.h"
int main() {
SeqList list;
// 将1至10存入顺序表
for (size_t i = 1; i <= 10; ++i) {
list.insertAtHead(i);
}
// 在元素5前插入100
list.insertBefore(5, 100);
// 打印列表内容
std::cout << "Original List:\n";
list.printList();
// 其他操作...例如删除元素并检查长度
return 0;
}
```
在这个例子中,我们实现了顺序列表的插入、查找和打印操作。`insertBefore`函数是在给定目标值之前插入新值的关键部分。
阅读全文