C语言实现选择排序算法

#include <stdio.h>

void selectionSort(int arr[], int n) {

int i, j, min_idx;

for (i = 0; i < n - 1; i++) {

// 找到未排序部分的最小值

min_idx = i;

for (j = i + 1; j < n; j++)

if (arr[j] < arr[min_idx])

min_idx = j;

// 交换找到的最小值到正确的位置

int temp = arr[min_idx];

arr[min_idx] = arr[i];

arr[i] = temp;

}

}

// 主函数用于测试

int main() {

int arr[] = {64, 25, 12, 22, 11};

int n = sizeof(arr) / sizeof(arr[0]);

selectionSort(arr, n);

printf("Sorted array: \n");

for (int i = 0; i < n; i++)

printf("%d ", arr[i]);

printf("\n");

return 0;

}

相关推荐
放羊郎7 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
mask哥7 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
袁雅倩19978 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
如果'\'真能转义说8 小时前
OOXML 文档格式剖析:哈希、ZIP结构与识别
xml·算法·c#·哈希算法
梦梦代码精10 小时前
BuildingAI 上部署自定义工作流智能体:5 个实用技巧
大数据·人工智能·算法·开源软件
Zephyr_011 小时前
Leedcode算法题
java·算法
流年如夢11 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展
Hello.Reader12 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法
CHANG_THE_WORLD13 小时前
C语言中的 %*s 和 %.*s 和C++的字符串格式化输出
c语言·c++·c#