C语言实现随机数组生成及选择排序 - 代码解析及优化
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;
}
}
代码解释
#include <stdio.h>:包含标准输入输出库的头文件。#include <stdlib.h>:包含一些常用的函数,如rand()和srand()。#include <time.h>:包含处理时间的函数,用于设置随机数的种子。void selectionSort(int arr[], int n):声明选择排序函数。int main():程序的主函数。int arr[10]:定义一个长度为 10 的整型数组,用于存储随机整数。srand(time(0)):通过获取当前时间来设置随机数的种子,确保每次运行生成的随机数不同。for (int i = 0; i < 10; i++):循环 10 次,生成 10 个随机整数。arr[i] = rand() % 61 + 30:生成一个 [30, 90] 范围内的随机整数,存入数组的第 i 个位置。printf('Original array: '):输出提示信息。for (int i = 0; i < 10; i++):循环遍历数组,输出未排序的数组。selectionSort(arr, 10):调用选择排序函数对数组进行排序。void selectionSort(int arr[], int n):选择排序函数的定义。for (i = 0; i < n-1; i++):外层循环,从第一个元素到倒数第二个元素。minIndex = i:将当前位置设为最小元素的索引。for (j = i+1; j < n; j++):内层循环,从当前位置的下一个位置到最后一个元素。if (arr[j] < arr[minIndex]):如果找到比当前最小元素还小的元素,则更新最小元素的索引。temp = arr[i]:使用临时变量暂存当前元素。arr[i] = arr[minIndex]:将最小元素移到当前位置。arr[minIndex] = temp:将当前元素放入最小元素原来的位置。printf('Sorted array: '):输出提示信息。for (int i = 0; i < 10; i++):循环遍历数组,输出排序后的数组。return 0:表示程序正常结束。
SEO 优化建议
- 标题优化: 使用更具体的关键词,例如“C语言 随机数组 选择排序 代码解析”。
- 描述优化: 添加更多关于代码功能和内容的描述,吸引用户点击。
- 关键词优化: 添加更多相关关键词,例如“随机数生成算法”, “排序算法”, “C语言编程”。
- 代码格式化: 使用代码块将代码与文本区分开,并使用适当的缩进,提高代码可读性。
- 文章结构: 使用标题、副标题和段落,将文章内容划分成不同的部分,方便用户阅读。
通过以上优化,可以使您的文章更容易被搜索引擎收录,并吸引更多用户阅读。
总结
本文通过 C语言 代码示例和详细解释,展示了如何使用 C语言 生成随机数组并使用选择排序算法进行排序。您可以根据自己的需求修改代码,生成不同数量的随机数,并使用不同的排序算法。希望本文能够帮助您更好地理解和学习 C语言 编程。
原文地址: https://www.cveoy.top/t/topic/FJE 著作权归作者所有。请勿转载和采集!