C++实现线性表-顺序表
作者:野牛程序员:2023-12-05 09:20:03 C++阅读 2633
线性表的顺序表是一种基于数组的数据结构,可以在内存中顺序存储元素。以下是一个简单的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++实现线性表-单链表