用c语言把线性表的验证功能程序编写出来,用一个程序实现包括初始化,取值,查找,插入元素和删除元素5和功能,用数组实现,数组第一个元素用来保存线性表长度
时间: 2024-12-24 19:43:05 浏览: 6
在C语言中,我们可以使用数组来实现一个简单的线性表。以下是该线性表的一个基本实现,包含了初始化、取值、查找、插入和删除元素的功能:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 线性表最大容量
typedef struct {
int data[MAX_SIZE]; // 存储数据的数组
int length; // 线性表当前长度
} LinearList;
// 初始化函数
void initLinearList(LinearList* list) {
list->length = 0;
}
// 取值函数
int getValue(LinearList* list, int index) {
if (index >= 0 && index < list->length) {
return list->data[index];
} else {
printf("Error: Index out of range.\n");
return -1;
}
}
// 查找函数
int search(LinearList* list, int target) {
for (int i = 0; i < list->length; i++) {
if (list->data[i] == target)
return i;
}
return -1; // 如果未找到目标,返回-1
}
// 插入函数
void insertElement(LinearList* list, int index, int value) {
if (index >= 0 && index <= list->length) {
memmove(&list->data[index + 1], &list->data[index], sizeof(int) * (list->length - index));
list->data[index] = value;
list->length++;
} else {
printf("Error: Invalid index.\n");
}
}
// 删除函数
void deleteElement(LinearList* list, int index) {
if (index >= 0 && index < list->length - 1) {
memmove(&list->data[index], &list->data[index + 1], sizeof(int) * (list->length - index - 1));
list->length--;
} else {
printf("Error: Invalid index.\n");
}
}
int main() {
LinearList myList;
initLinearList(&myList);
// 测试部分
insertElement(&myList, 0, 10);
printf("Value at index 0: %d\n", getValue(&myList, 0)); // 输出 10
insertElement(&myList, 2, 20);
printf("Search result for 10: %d\n", search(&myList, 10)); // 输出 -1, 因为10已移除
deleteElement(&myList, 1);
printf("Length after deleting element: %d\n", myList.length); // 输出 2
return 0;
}
```
阅读全文