生成一个用c++写的顺序表,实现插入,删除的功能
时间: 2023-04-05 09:01:33 浏览: 131
数据结构实验上机指导
好的,我可以回答这个问题。以下是一个用 C 语言写的顺序表,实现插入和删除功能的代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义顺序表的最大长度
typedef struct {
int data[MAXSIZE]; // 存储数据的数组
int length; // 当前顺序表的长度
} SeqList;
// 初始化顺序表
void initList(SeqList *L) {
L->length = 0;
}
// 插入元素
int insertList(SeqList *L, int pos, int elem) {
if (pos < 1 || pos > L->length + 1 || L->length == MAXSIZE) {
return 0; // 插入失败
}
for (int i = L->length; i >= pos; i--) {
L->data[i] = L->data[i-1];
}
L->data[pos-1] = elem;
L->length++;
return 1; // 插入成功
}
// 删除元素
int deleteList(SeqList *L, int pos) {
if (pos < 1 || pos > L->length) {
return 0; // 删除失败
}
for (int i = pos; i < L->length; i++) {
L->data[i-1] = L->data[i];
}
L->length--;
return 1; // 删除成功
}
int main() {
SeqList L;
initList(&L);
insertList(&L, 1, 10);
insertList(&L, 2, 20);
insertList(&L, 3, 30);
deleteList(&L, 2);
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
return 0;
}
```
这个顺序表可以存储整数类型的数据,通过 `insertList` 函数可以在指定位置插入元素,通过 `deleteList` 函数可以删除指定位置的元素。在 `main` 函数中,我们先初始化了一个空的顺序表,然后插入了三个元素,再删除了第二个元素,最后输出剩余的元素。
阅读全文