实现一个顺序表a[10]={21,55,45,69,12,36,87,74,56}线性表删除12C语言代码实现
时间: 2024-09-20 12:12:11 浏览: 35
离散数学双语专业词汇表set集合subset子集elementmember.pdf
在C语言中,如果你有一个顺序存储(数组)列表,并想要删除特定值(例如12),你需要找到这个元素的位置,然后将后续元素向前移动。这里是一个简单的示例代码,说明如何删除第一个出现的12:
```c
#include <stdio.h>
#define SIZE 10
int a[SIZE] = {21, 55, 45, 69, 12, 36, 87, 74, 56};
void delete(int *arr, int value) {
int i, j;
// 遍历数组寻找目标元素
for (i = 0; i < SIZE - 1; i++) {
if (arr[i] == value) {
// 如果找到,从后往前移动元素
for (j = i; j < SIZE - 1; j++) {
arr[j] = arr[j + 1];
}
// 减少数组长度并退出循环
SIZE--;
break;
}
}
}
int main() {
printf("Original array: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", a[i]);
}
delete(a, 12);
printf("\nArray after deleting 12: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
当你运行这段代码时,它会打印原始数组,然后删除第一个出现的12,最后显示修改后的数组。
阅读全文