21xrx.com
2024-11-05 17:31:55 Tuesday
登录
文章检索 我的文章 写文章
数据结构顺序表的基本操作C++代码
2023-07-12 15:30:41 深夜i     --     --
数据结构 顺序表 基本操作 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;

}

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

  
  

评论区

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