c语言数据结构中用Dev c++建立一个从202300705001到202300705100的顺序表,然后删除顺序表的第七位,最后将原来的第七位加会去
时间: 2024-09-10 18:30:16 浏览: 47
在C语言中,顺序表通常可以通过数组来实现。以下是一个示例代码,演示如何在Dev C++中创建一个包含特定编号范围的顺序表,删除其中的第七位元素,然后再将该元素添加回去的过程:
```c
#include <stdio.h>
#define MAX_SIZE 100 // 定义顺序表的最大长度
// 顺序表的结构体定义
typedef struct {
int data[MAX_SIZE]; // 存储顺序表元素的数组
int length; // 顺序表当前长度
} SeqList;
// 初始化顺序表
void InitList(SeqList *list) {
list->length = 0;
}
// 在顺序表末尾添加元素
int AddElement(SeqList *list, int element) {
if (list->length >= MAX_SIZE) {
return 0; // 顺序表已满,无法添加
}
list->data[list->length] = element;
list->length++;
return 1;
}
// 删除顺序表中的指定位置元素
int DeleteElement(SeqList *list, int position) {
if (position < 1 || position > list->length) {
return 0; // 位置不合法
}
for (int i = position; i < list->length; i++) {
list->data[i - 1] = list->data[i]; // 将后面元素前移
}
list->length--;
return 1;
}
// 将元素添加到顺序表的指定位置
int InsertElement(SeqList *list, int position, int element) {
if (position < 1 || position > list->length + 1) {
return 0; // 位置不合法
}
if (list->length >= MAX_SIZE) {
return 0; // 顺序表已满,无法添加
}
for (int i = list->length; i >= position; i--) {
list->data[i] = list->data[i - 1]; // 将后面元素后移
}
list->data[position - 1] = element;
list->length++;
return 1;
}
int main() {
SeqList list;
InitList(&list); // 初始化顺序表
// 填充顺序表
for (int i = 202300705001; i <= 202300705100; i++) {
AddElement(&list, i);
}
// 删除顺序表中的第七位元素(注意数组下标从0开始)
DeleteElement(&list, 7);
// 将原来第七位的元素加回去
// 因为删除元素后顺序表的长度减1,所以现在第七位的下标是5
int seventhElement = list.data[5];
InsertElement(&list, 7, seventhElement);
// 打印结果,验证元素是否添加成功
for (int i = 0; i < list.length; i++) {
printf("%d ", list.data[i]);
}
return 0;
}
```
这段代码首先定义了一个顺序表的结构体,然后通过一系列函数实现了顺序表的初始化、添加元素、删除元素和插入元素。在`main`函数中,我们创建了一个顺序表,填充了从202300705001到202300705100的整数,删除了第七位元素,并将其重新插入到顺序表中。最后,通过一个循环打印出顺序表的所有元素,以验证操作是否成功。
阅读全文