C++实现线性表-顺序表
作者:野牛程序员:2023-12-05 09:20:03 C++阅读 2961
线性表的顺序表是一种基于数组的数据结构,可以在内存中顺序存储元素。以下是一个简单的C++代码示例,演示如何实现线性表的顺序表:
#include <iostream>
const int MAX_SIZE = 100; // 定义顺序表的最大长度
class SequenceList {
private:
int data[MAX_SIZE]; // 用数组存储元素
int length; // 当前顺序表的长度
public:
// 构造函数,初始化顺序表
SequenceList() {
length = 0;
}
// 插入元素到顺序表的指定位置
void insert(int position, int element) {
if (position < 0 || position > length || length >= MAX_SIZE) {
// 位置不合法或者顺序表已满
std::cout << "插入失败,位置不合法或顺序表已满。" << std::endl;
return;
}
// 将位置position后的元素依次向后移动一位
for (int i = length - 1; i >= position; --i) {
data[i + 1] = data[i];
}
// 在位置position插入新元素
data[position] = element;
// 更新顺序表长度
++length;
}
// 删除顺序表指定位置的元素
void remove(int position) {
if (position < 0 || position >= length) {
// 位置不合法
std::cout << "删除失败,位置不合法。" << std::endl;
return;
}
// 将位置position后的元素依次向前移动一位
for (int i = position; i < length - 1; ++i) {
data[i] = data[i + 1];
}
// 更新顺序表长度
--length;
}
// 获取顺序表指定位置的元素值
int get(int position) {
if (position < 0 || position >= length) {
// 位置不合法
std::cout << "获取失败,位置不合法。" << std::endl;
return -1; // 返回一个特殊值表示获取失败
}
return data[position];
}
// 打印顺序表的元素
void print() {
std::cout << "顺序表元素: ";
for (int i = 0; i < length; ++i) {
std::cout << data[i] << " ";
}
std::cout << std::endl;
}
};
int main() {
SequenceList myList;
// 插入元素
myList.insert(0, 1);
myList.insert(1, 2);
myList.insert(1, 3);
// 打印顺序表
myList.print();
// 删除元素
myList.remove(1);
// 打印顺序表
myList.print();
// 获取元素
int element = myList.get(1);
std::cout << "获取的元素值: " << element << std::endl;
return 0;
}这是一个简单的顺序表实现,包括插入、删除、获取和打印操作。可以根据需要扩展它以满足特定的要求。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:克鲁斯卡尔(Kruskal)算法求解最小生成树
- 下一篇:C++实现线性表-单链表
