目录
一、冒泡法排序
二、二分法查找
一、冒泡法排序
通过调用函数来实现冒泡法
#include<stdio.h> // 定义数组长度 #define SIZE 3 void bubbleSort(int arr[], int n); int main() { int arr[SIZE]; int i; // 从控制台输入数字到数组 printf("请输入%d个整数:\n", SIZE); for (i = 0; i < SIZE; i++) { scanf("%d", &arr[i]); } // 调用冒泡排序函数 bubbleSort(arr, SIZE); // 输出排序后的数组 printf("排序后的数组为:\n"); for (i = 0; i < SIZE; i++) { printf("%d ", arr[i]); } printf("\n"); return 0; } void bubbleSort(int arr[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换元素 temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
二、二分法查找
通过调用函数来实现二分法
#include <stdio.h> // 定义数组长度 #define SIZE 10 // 二分查找函数 int binarySearch(int arr[], int n, int target) { int left = 0; int right = n - 1; while (left <= right) { // 计算中间元素的索引 int mid = left + (right - left) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { right = mid - 1; } else { left = mid + 1; } } return -1; // 如果未找到目标元素,返回 -1 } int main() { int arr[SIZE] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; int target; // 从控制台输入要查找的目标数字 printf("请输入要查找的数字:\n"); scanf("%d", &target); // 调用二分查找函数 int result = binarySearch(arr, SIZE, target); if (result!= -1) { printf("目标数字 %d 在数组中的索引为 %d\n", target, result); } else { printf("未找到目标数字 %d\n", target); } return 0; }