21xrx.com
2025-06-23 23:18:05 Monday
文章检索 我的文章 写文章
C++代码示例:数据结构顺序表的基本操作
2023-06-27 18:38:52 深夜i     13     0
C++ 数据结构 顺序表 基本操作 代码示例

数据结构是计算机科学中的一个分支,它主要研究数据的组织、存储、检索和操作等问题。顺序表是一种简单的数据结构,它采用连续的存储空间来存储线性表的各个元素,具有插入、删除、查找等基本操作。下面将介绍使用C++实现数据结构顺序表的基本操作。

定义顺序表结构体

typedef struct {

  int *data;// 用于存储顺序表的元素

  int length;// 顺序表中已存储元素的个数

  int maxSize;// 顺序表最大可存储元素个数

} Sqlist;

创建顺序表

void initList(Sqlist &L) {// 初始化顺序表

  L.data = new int[MaxSize];

  L.length = 0;

  L.maxSize = MaxSize;

}

插入元素

bool insert(Sqlist &L, int i, int x) {// 在顺序表中第 i 个位置插入元素 x

  if (i < 1 || i > L.length + 1 || L.length == L.maxSize)

    return false;

   // 插入位置不合法或者顺序表已满,返回插入失败

  for (int j = L.length; j >= i; j--) {

    L.data[j] = L.data[j - 1];// 元素后移一位

  }

  L.data[i - 1] = x;// 插入元素

  L.length++;// 顺序表长度加1

  return true;// 插入成功

}

删除元素

bool del(Sqlist &L, int i) {// 删除顺序表中第 i 个位置的元素

  if (i < 1 || i > L.length)

    return false;// 删除位置不合法

  for (int j = i; j < L.length; j++) {

    L.data[j - 1] = L.data[j];// 元素前移一位

  }

  L.length--;// 顺序表长度减1

  return true;// 删除成功

}

查找元素

int search(Sqlist L, int x) {// 在顺序表中查找元素 x 的位置

  for (int i = 0; i < L.length; i++) {

    if (L.data[i] == x) {

      return i + 1;// 找到返回位置

    }

  }

  return 0;// 没有找到返回0

}

输出顺序表

void printList(Sqlist L) {// 输出顺序表

  for (int i = 0; i < L.length; i++) {

    cout << L.data[i] << " ";

  }

  cout << endl;

}

以上就是使用C++实现数据结构顺序表的基本操作。通过实现这些操作,我们可以很方便地对顺序表进行插入、删除、查找等操作。在实际应用中,顺序表可用于处理线性表的问题,如数组、字符串等。

总的来说,熟练掌握数据结构顺序表的基本操作对于掌握编程和算法非常有帮助。希望本文的介绍能够给大家提供帮助。

  
  

评论区