C语言实现简单选择排序
文章目录
C语言实现简单选择排序简单选择排序算法1.交换操作2.简单选择排序算法实现项目完整代码运行效果图简单选择排序算法
1.交换操作
//交换实现
void swap(int &a, int &b) {int temp = a;a = b;b = temp;
}
2.简单选择排序算法实现
//简单选择排序算法
void SelectSort(int arr[], int len) {for (int i = 0; i < len - 1; ++i) { //一共进行len-1趟int min = i; //记录最小的元素位置for (int j = i + 1; j < len; ++j) { //在arr[i...len-1]中选择最小的if (arr[j] < arr[min]) //如果当前位置的值比已记录位置的值还小min = j; //更新最小值的位置}if (min != i) //如果这个最小值不是本身swap(arr[i], arr[min]); //交换当前位置与初始记录位置}
}
项目完整代码
//选择排序————简单选择排序(不稳定,空间复杂度O(1),时间复杂度O(n^2))
#include <stdio.h>//交换实现
void swap(int &a, int &b) {int temp = a;a = b;b = temp;
}//简单选择排序算法
void SelectSort(int arr[], int len) {for (int i = 0; i < len - 1; ++i) { //一共进行len-1趟int min = i; //记录最小的元素位置for (int j = i + 1; j < len; ++j) { //在arr[i...len-1]中选择最小的if (arr[j] < arr[min]) //如果当前位置的值比已记录位置的值还小min = j; //更新最小值的位置}if (min != i) //如果这个最小值不是本身swap(arr[i], arr[min]); //交换当前位置与初始记录位置}
}int main() {int arr[] = {49, 38, 65, 97, 76, 13, 27, 49};int len = sizeof(arr) / sizeof(int);//简单选择排序SelectSort(arr, len);//将已排序结果输出printf("简单选择排序结果为:");for (int i = 0; i < len; ++i) {printf("%d ", arr[i]);}return 0;
}
运行效果图
int arr[] = {49, 38, 65, 97, 76, 13, 27, 49};
更多推荐
算法,语言,简单
发布评论