21xrx.com
2025-03-25 23:00:59 Tuesday
文章检索 我的文章 写文章
C++实现顺序表的代码
2023-07-06 05:04:05 深夜i     13     0
C++ 实现 顺序表 代码

顺序表是面向对象编程中常用的一种数据结构,它可以用来存储一系列相同类型的元素,支持快速查询、插入、删除等操作。在C++中,我们可以通过定义一个class或struct来实现顺序表的基本功能。

下面是一个用C++实现顺序表的代码示例:

#include <iostream>
using namespace std;
const int MaxLen = 100// 定义顺序表的最大长度
// 定义顺序表的结构体
struct SeqList {
  int data[MaxLen];  // 存储顺序表的元素
  int length;     // 顺序表的当前长度
};
// 创建一个空的顺序表
SeqList createSeqList()
  SeqList L;
  L.length = 0;
  return L;
// 在顺序表的第i个位置插入元素x
bool insert(SeqList &L, int i, int x) {
  if(L.length == MaxLen) // 判断是否已满
    return false;
  if(i < 0 || i > L.length) // 判断插入位置是否合法
    return false;
  for(int j = L.length - 1; j >= i; j--) // 将i以后的元素向后移动
    L.data[j+1] = L.data[j];
  L.data[i] = x; // 插入元素x
  L.length++;   // 顺序表长度+1
  return true;
}
// 删除顺序表的第i个元素
bool del(SeqList &L, int i) {
  if(i < 0 || i >= L.length) // 判断删除位置是否合法
    return false;
  for(int j = i; j < L.length - 1; j++) // 将i以后的元素向前移动
    L.data[j] = L.data[j+1];
  L.length--;   // 顺序表长度-1
  return true;
}
// 遍历输出顺序表
void display(SeqList L) {
  for(int i = 0; i < L.length; i++)
    cout << L.data[i] << " ";
  cout << endl;
}
int main() {
  SeqList L = createSeqList();  // 创建一个空顺序表
  for(int i = 0; i < 5; i++) {
    insert(L, i, i+1);  // 向顺序表中插入元素
  }
  cout << "原始顺序表为:";
  display(L);   // 遍历输出顺序表
  del(L, 3);   // 删除第4个元素
  cout << "删除一个元素后顺序表为:";
  display(L);   // 遍历输出修改后的顺序表
  return 0;
}

在上面的代码中,我们首先定义了一个结构体`SeqList`,用来表示一个顺序表。其中`data`数组存储了顺序表的元素,`length`表示当前顺序表的长度。接着,我们实现了三个基本操作:

- `createSeqList`:创建一个空的顺序表。

- `insert`:在顺序表的第i个位置插入元素x。

- `del`:删除顺序表的第i个元素。

最后,我们在main函数中演示了如何使用这些操作来创建、修改和遍历顺序表。总体来说,这是一个简单但实用的顺序表实现。

  
  
下一篇: "C++ 接单 QQ 群"

评论区

请求出错了