用C语言编程实现在一维数组中查找、 插入和删除一个元素的操作
#include <stdio.h>
#define MAX_SIZE 100
void print_array(int arr[], int size); int find_element(int arr[], int size, int element); int insert_element(int arr[], int size, int element, int index); int delete_element(int arr[], int size, int element);
int main() { int arr[MAX_SIZE] = {1, 2, 3, 4, 5}; int size = 5, element, index, choice;
do {
printf("\nSelect an operation:\n");
printf("1. Find an element\n");
printf("2. Insert an element\n");
printf("3. Delete an element\n");
printf("4. Exit\n");
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("Enter the element to find: ");
scanf("%d", &element);
index = find_element(arr, size, element);
if (index == -1) {
printf("Element not found.\n");
} else {
printf("Element found at index %d.\n", index);
}
break;
case 2:
printf("Enter the element to insert: ");
scanf("%d", &element);
printf("Enter the index to insert at: ");
scanf("%d", &index);
size = insert_element(arr, size, element, index);
printf("Array after insertion:\n");
print_array(arr, size);
break;
case 3:
printf("Enter the element to delete: ");
scanf("%d", &element);
size = delete_element(arr, size, element);
printf("Array after deletion:\n");
print_array(arr, size);
break;
case 4:
printf("Exiting...\n");
break;
default:
printf("Invalid choice. Try again.\n");
}
} while (choice != 4);
return 0;
}
void print_array(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); }
int find_element(int arr[], int size, int element) { for (int i = 0; i < size; i++) { if (arr[i] == element) { return i; } } return -1; }
int insert_element(int arr[], int size, int element, int index) { if (index < 0 || index > size) { printf("Invalid index. Element not inserted.\n"); return size; } for (int i = size - 1; i >= index; i--) { arr[i + 1] = arr[i]; } arr[index] = element; return size + 1; }
int delete_element(int arr[], int size, int element) { int index = find_element(arr, size, element); if (index == -1) { printf("Element not found. Array not modified.\n"); return size; } for (int i = index; i < size - 1; i++) { arr[i] = arr[i + 1]; } return size - 1;
原文地址: https://www.cveoy.top/t/topic/ffP8 著作权归作者所有。请勿转载和采集!