21xrx.com
2024-11-05 12:19:10 Tuesday
登录
文章检索 我的文章 写文章
C++实现顺序表的构建
2023-07-06 02:40:20 深夜i     --     --
C++ 顺序表 构建 数组 插入删除

C++是一种强大的编程语言,可用于开发各种数据结构,例如顺序表。顺序表是一种基本的数据结构,通常用于存储一组具有相同数据类型的数据,处理方式取决于它们在序列中的相对位置。

下面是一个简单的C++程序,用于构建顺序表:


#include <iostream>

using namespace std;

const int MAXSIZE = 100; //定义顺序表最大长度

typedef struct {

  int data[MAXSIZE]; //顺序表数据存放的数组

  int length = 0; //当前长度

} SeqList;

void initList(SeqList &L); //初始化顺序表

void insertList(SeqList &L, int pos, int val); //在指定位置插入元素

void deleteList(SeqList &L, int pos); //删除指定位置元素

int searchList(SeqList &L, int val); //查找元素位置

void outputList(SeqList L); //输出顺序表

int main() {

  SeqList L;

  initList(L);

  insertList(L, 1, 5);

  insertList(L, 2, 8);

  deleteList(L, 1);

  int index = searchList(L, 8);

  cout << "8的位置是:" << index << endl;

  outputList(L);

  return 0;

}

void initList(SeqList &L)

  L.length = 0;

void insertList(SeqList &L, int pos, int val) {

  if (pos < 1 || pos > L.length + 1)

    cout << "超出范围" << endl;

    return;

  

  if (L.length == MAXSIZE)

    cout << "顺序表已满" << endl;

    return;

  

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

    L.data[i + 1] = L.data[i];

  }

  L.data[pos - 1] = val;

  L.length++;

}

void deleteList(SeqList &L, int pos) {

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

    cout << "超出范围" << endl;

    return;

  

  for (int i = pos - 1; i <= L.length - 2; i++) {

    L.data[i] = L.data[i + 1];

  }

  L.length--;

}

int searchList(SeqList &L, int val) {

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

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

      return i + 1;

    }

  }

  return 0;

}

void outputList(SeqList L) {

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

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

  }

  cout << endl;

}

上面的程序定义了一个SeqList类型,其中包含一个int型数组和一个表示当前长度的变量。initList函数用于初始化顺序表,insertList函数用于在指定的位置插入元素,deleteList函数用于删除指定位置的元素,searchList函数用于查找元素位置,outputList函数用于输出顺序表。

这个程序演示了如何构建一个简单的顺序表,并提供了一些函数来操作顺序表。使用这些函数,开发人员可以轻松地进行常见的顺序表操作,例如添加元素,删除元素,查找元素,以及输出整个顺序表。

  
  

评论区

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