创建空顺列表,在顺序表上插入1~9建立非c空顺序表并输出,取第6个数并输出,在已有顺序表里查找5,并输出结果,删除顺序表里的第四个数并输出删除后的顺序表(使用c语言)
时间: 2024-09-20 15:15:16 浏览: 30
PTA—C语言数据结构:顺序表.ppt
在C语言中,创建一个空的顺序表(数组)并逐步操作它,可以按照以下步骤进行:
1. **创建空顺序表**:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义顺序表的最大大小
typedef struct {
int data[MAX_SIZE]; // 存储元素的数组
int size; // 当前元素的数量
} List;
// 初始化一个空顺序表
List createEmptyList() {
List list;
list.size = 0;
return list;
}
```
2. **插入元素**:
```c
void insert(List *list, int value) {
if (list->size < MAX_SIZE) {
list->data[list->size] = value;
list->size++;
} else {
printf("顺序表已满,无法插入更多元素。\n");
}
}
// 插入1到9
for (int i = 1; i <= 9; i++) {
insert(&list, i);
}
```
3. **输出第6个数**:
```c
void printSixthElement(List *list) {
if (list->size > 0 && list->size >= 6) {
printf("第6个数是:%d\n", list->data[5]);
} else {
printf("索引越界,顺序表中没有第6个元素。\n");
}
}
printSixthElement(&list);
```
4. **查找元素**:
```c
int search(List *list, int target) {
for (int i = 0; i < list->size; i++) {
if (list->data[i] == target) {
return i; // 如果找到目标,返回其位置
}
}
return -1; // 没有找到目标,返回-1
}
int result = search(&list, 5);
if (result != -1) {
printf("找到了数字5,它在第%d个位置。\n", result + 1); // 输出元素的位置+1,因为数组下标从0开始
} else {
printf("没有找到数字5。\n");
}
```
5. **删除元素**:
```c
void delete(List *list, int index) {
if (index < list->size) {
for (int i = index; i < list->size - 1; i++) {
list->data[i] = list->data[i + 1];
}
list->size--;
} else {
printf("尝试删除不存在的元素。\n");
}
}
delete(&list, 3); // 删除第四个元素
```
6. **输出删除后的顺序表**:
```c
void printList(List *list) {
if (list->size > 0) {
printf("删除第四个元素后,顺序表内容为:\n");
for (int i = 0; i < list->size; i++) {
printf("%d ", list->data[i]);
}
printf("\n");
} else {
printf("顺序表为空。\n");
}
}
printList(&list);
```
注意:上述代码示例假设你有一个`main()`函数来管理这个过程,实际应用时需要将这些操作放在适当的控制结构中。
阅读全文