21xrx.com
2025-04-14 03:27:02 Monday
文章检索 我的文章 写文章
数据结构顺序表的基本操作C++代码
2023-07-12 15:30:41 深夜i     56     0
数据结构 顺序表 基本操作 C++代码

顺序表是一种线性数据结构,它以连续的存储空间存储元素,并按照线性的顺序组织。顺序表的基本操作有插入、删除、查找、遍历等,下面是使用C++语言实现顺序表基本操作的代码示例。

1. 初始化顺序表

顺序表的初始化就是分配足够的存储空间并将表的长度设置为0。

#define MAXSIZE 100
typedef int ElemType;
typedef struct {
  ElemType data[MAXSIZE];
  int len;
} SqList;
void initList(SqList &L)
  L.len = 0;

2. 插入操作

插入操作就是在指定位置将新元素插入到顺序表中,如果该位置之后有元素,则需要将其依次向后移动。

bool insertList(SqList &L, int i, ElemType e) {
  if (i < 1 || i > L.len + 1)
    return false;
  if (L.len == MAXSIZE)
    return false;
  for (int j = L.len; j >= i; j--)
    L.data[j] = L.data[j - 1];
  L.data[i - 1] = e;
  L.len++;
  return true;
}

3. 删除操作

删除操作就是删除指定位置的元素,如果该位置之后有元素,则需要将其依次向前移动。

bool deleteList(SqList &L, int i) {
  if (i < 1 || i > L.len)
    return false;
  for (int j = i; j < L.len; j++)
    L.data[j - 1] = L.data[j];
  L.len--;
  return true;
}

4. 查找操作

查找操作就是在顺序表中查找指定元素的位置。

int searchList(SqList &L, ElemType e) {
  for (int i = 0; i < L.len; i++) {
    if (L.data[i] == e)
      return i + 1;
  }
  return 0;
}

5. 遍历操作

遍历操作就是依次输出顺序表中的元素。

void displayList(SqList &L) {
  for (int i = 0; i < L.len; i++) {
    cout << L.data[i] << " ";
  }
  cout << endl;
}

上述代码实现了顺序表的基本操作,封装成一个结构体可以方便地进行操作。实际上,顺序表的实现方式有多种,不同的实现方式可能会有不同的优缺点,需要根据具体应用来选择合适的数据结构和算法。

  
  

评论区