21xrx.com
2024-12-22 21:40:06 Sunday
登录
文章检索 我的文章 写文章
C++实现顺序表的代码
2023-07-06 05:04:05 深夜i     --     --
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 群"

评论区

{{item['qq_nickname']}}
()
回复
回复