编写C语言程序,实现顺序表的基本操作:查找、插入、删除。
时间: 2024-09-21 19:01:20 浏览: 38
在C语言中,我们可以使用数组或结构体来创建一个简单的顺序表数据结构,以下是基本操作的实现:
1. **查找(Search)**:
```c
int search(int arr[], int size, int target) {
for (int i = 0; i < size; i++) {
if (arr[i] == target)
return i; // 找到目标值,返回其索引
}
return -1; // 如果未找到,返回-1表示元素不存在
}
```
2. **插入(Insert)**:
```c
void insert(int arr[], int *size, int index, int value) {
if (index >= 0 && index < *size) {
memmove(&arr[index+1], &arr[index], (*size - index) * sizeof(int)); // 移动元素
arr[index] = value;
(*size)++;
} else {
printf("插入位置无效\n");
}
}
```
3. **删除(Delete)**:
```c
void delete(int arr[], int *size, int index) {
if (index >= 0 && index < *size - 1) { // 避免越界
memmove(&arr[index], &arr[index+1], (*size - index - 1) * sizeof(int));
(*size)--;
} else {
printf("删除位置无效\n");
}
}
```
以上代码假设`arr[]`是一个动态大小的整数数组,`*size`指向数组的实际长度。在实际应用中,为了节省空间,可以考虑将数组和长度分开存储。
阅读全文