用dev c++创建顺序表
时间: 2024-09-14 18:08:13 浏览: 113
数据结构C++ 线性表——顺序表和单链表基本操作(含代码和注释).docx
5星 · 资源好评率100%
顺序表是一种使用连续内存空间存储数据的线性表数据结构。在Dev C++中创建一个顺序表可以通过定义一个数组并配合一些管理数组的函数来实现。下面是一个简单的顺序表创建的示例代码,包括基本的操作如插入和删除。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100 // 定义顺序表的最大容量
// 顺序表的结构体定义
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int length; // 顺序表当前长度
} SeqList;
// 初始化顺序表
void InitList(SeqList *L) {
L->length = 0; // 初始化长度为0
}
// 向顺序表中插入元素
int InsertList(SeqList *L, int index, int value) {
if (L->length >= MAX_SIZE) { // 检查顺序表是否已满
printf("顺序表已满,无法插入\n");
return -1;
}
if (index < 1 || index > L->length + 1) { // 检查插入位置是否有效
printf("插入位置无效\n");
return -1;
}
for (int i = L->length; i >= index; i--) { // 将index及之后的元素后移
L->data[i] = L->data[i - 1];
}
L->data[index - 1] = value; // 插入新元素
L->length++; // 长度加1
return 0;
}
// 从顺序表中删除元素
int DeleteList(SeqList *L, int index) {
if (L->length == 0) { // 检查顺序表是否为空
printf("顺序表为空,无法删除\n");
return -1;
}
if (index < 1 || index > L->length) { // 检查删除位置是否有效
printf("删除位置无效\n");
return -1;
}
for (int i = index; i < L->length; i++) { // 将index之后的元素前移
L->data[i - 1] = L->data[i];
}
L->length--; // 长度减1
return 0;
}
int main() {
SeqList L;
InitList(&L); // 初始化顺序表
// 插入元素示例
InsertList(&L, 1, 10); // 在顺序表头部插入元素10
InsertList(&L, 2, 20); // 在顺序表头部插入元素20
InsertList(&L, 3, 30); // 在顺序表头部插入元素30
// 删除元素示例
DeleteList(&L, 2); // 删除顺序表中索引为2的元素
// 打印顺序表中的元素
for (int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
printf("\n");
return 0;
}
```
这段代码定义了一个顺序表的基本操作,包括初始化、插入和删除元素。在Dev C++中,你可以创建一个新的C++项目,将上述代码粘贴到主文件中,然后编译并运行程序。
阅读全文