使用C语言编写程序,实现数组的初始化,查找,插入,删除,排序
时间: 2024-09-11 18:09:59 浏览: 70
插入排序算法C语言程序.zip
5星 · 资源好评率100%
在C语言中,数组的初始化、查找、插入、删除和排序都是基本操作,以下是简单的描述:
**数组初始化:**
```c
int arr[5] = {10, 20, 30, 40, 50}; // 数组元素一次性指定
```
或者动态分配内存:
```c
int* arr = malloc(5 * sizeof(int)); // 动态申请空间
arr[0] = 1;
arr[1] = 2; // 需要手动管理内存释放
```
**数组查找:**
```c
int search(int arr[], int size, int target) {
for (int i = 0; i < size; i++) {
if (arr[i] == target)
return i; // 返回目标值索引
}
return -1; // 没找到目标值,返回特殊标记
}
```
**数组插入:**
```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(arr[0])); // 移动元素
arr[index] = value;
} else {
printf("Invalid index.\n");
}
}
```
**数组删除:**
```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(arr[0])); // 将后续元素前移一位
} else {
printf("Invalid index.\n");
}
}
```
**数组排序:**
```c
#include <stdio.h>
#include <stdlib.h>
// 快速排序示例
void quick_sort(int arr[], int low, int high) {
if (low < high) {
int pivot_index = partition(arr, low, high);
quick_sort(arr, low, pivot_index - 1);
quick_sort(arr, pivot_index + 1, high);
}
}
// 分区函数
int partition(int arr[], int low, int high) {
int pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (arr[j] <= pivot) {
i++;
swap(&arr[i], &arr[j]);
}
}
swap(&arr[i + 1], &arr[high]);
return i + 1;
}
void sort_array(int arr[], int size) {
quick_sort(arr, 0, size - 1);
}
// 忽略函数调用细节...
```
阅读全文