C语言实现随机数组生成及选择排序 - 代码解析及优化

本文使用 C语言 编写了一个程序,该程序生成 10 个随机整数(范围在 30 到 90 之间),并使用选择排序算法将其从小到大排序。代码逐行解释,并提供 SEO 优化建议,帮助您更好地理解和学习随机数生成、排序算法以及 C语言 编程。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void selectionSort(int arr[], int n);
// 选择排序函数,将数组从小到大排序

int main() {
    int arr[10];
    srand(time(0)); // 设置种子,确保每次运行生成的随机数不同

    // 生成随机整数并存入数组
    for (int i = 0; i < 10; i++) {
        arr[i] = rand() % 61 + 30; // 生成[30, 90]范围内的随机整数
    }

    // 输出未排序的数组
    printf('Original array: ');
    for (int i = 0; i < 10; i++) {
        printf('%d ', arr[i]);
    }
    printf('\n');

    // 调用选择排序函数
    selectionSort(arr, 10);

    // 输出排序后的数组
    printf('Sorted array: ');
    for (int i = 0; i < 10; i++) {
        printf('%d ', arr[i]);
    }
    printf('\n');

    return 0;
}

void selectionSort(int arr[], int n) {
    int i, j, minIndex, temp;
    for (i = 0; i < n-1; i++) {
        minIndex = i;
        for (j = i+1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;
            }
        }
        // 交换当前元素和最小元素的位置
        temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}

代码解释

  1. #include <stdio.h>:包含标准输入输出库的头文件。
  2. #include <stdlib.h>:包含一些常用的函数,如 rand()srand()
  3. #include <time.h>:包含处理时间的函数,用于设置随机数的种子。
  4. void selectionSort(int arr[], int n):声明选择排序函数。
  5. int main():程序的主函数。
  6. int arr[10]:定义一个长度为 10 的整型数组,用于存储随机整数。
  7. srand(time(0)):通过获取当前时间来设置随机数的种子,确保每次运行生成的随机数不同。
  8. for (int i = 0; i < 10; i++):循环 10 次,生成 10 个随机整数。
  9. arr[i] = rand() % 61 + 30:生成一个 [30, 90] 范围内的随机整数,存入数组的第 i 个位置。
  10. printf('Original array: '):输出提示信息。
  11. for (int i = 0; i < 10; i++):循环遍历数组,输出未排序的数组。
  12. selectionSort(arr, 10):调用选择排序函数对数组进行排序。
  13. void selectionSort(int arr[], int n):选择排序函数的定义。
  14. for (i = 0; i < n-1; i++):外层循环,从第一个元素到倒数第二个元素。
  15. minIndex = i:将当前位置设为最小元素的索引。
  16. for (j = i+1; j < n; j++):内层循环,从当前位置的下一个位置到最后一个元素。
  17. if (arr[j] < arr[minIndex]):如果找到比当前最小元素还小的元素,则更新最小元素的索引。
  18. temp = arr[i]:使用临时变量暂存当前元素。
  19. arr[i] = arr[minIndex]:将最小元素移到当前位置。
  20. arr[minIndex] = temp:将当前元素放入最小元素原来的位置。
  21. printf('Sorted array: '):输出提示信息。
  22. for (int i = 0; i < 10; i++):循环遍历数组,输出排序后的数组。
  23. return 0:表示程序正常结束。

SEO 优化建议

  1. 标题优化: 使用更具体的关键词,例如“C语言 随机数组 选择排序 代码解析”。
  2. 描述优化: 添加更多关于代码功能和内容的描述,吸引用户点击。
  3. 关键词优化: 添加更多相关关键词,例如“随机数生成算法”, “排序算法”, “C语言编程”。
  4. 代码格式化: 使用代码块将代码与文本区分开,并使用适当的缩进,提高代码可读性。
  5. 文章结构: 使用标题、副标题和段落,将文章内容划分成不同的部分,方便用户阅读。

通过以上优化,可以使您的文章更容易被搜索引擎收录,并吸引更多用户阅读。

总结

本文通过 C语言 代码示例和详细解释,展示了如何使用 C语言 生成随机数组并使用选择排序算法进行排序。您可以根据自己的需求修改代码,生成不同数量的随机数,并使用不同的排序算法。希望本文能够帮助您更好地理解和学习 C语言 编程。

C语言实现随机数组生成及选择排序 - 代码解析及优化

原文地址: https://www.cveoy.top/t/topic/FJE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录