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;

}

相关推荐
Indigo_code2 小时前
【数据结构】【顺序表算法】 删除特定值
数据结构·算法
阿史大杯茶3 小时前
Codeforces Round 976 (Div. 2 ABCDE题)视频讲解
数据结构·c++·算法
LluckyYH3 小时前
代码随想录Day 58|拓扑排序、dijkstra算法精讲,题目:软件构建、参加科学大会
算法·深度优先·动态规划·软件构建·图论·dfs
转调3 小时前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
不穿格子衬衫4 小时前
常用排序算法(下)
c语言·开发语言·数据结构·算法·排序算法·八大排序
wdxylb4 小时前
使用C++的OpenSSL 库实现 AES 加密和解密文件
开发语言·c++·算法
aqua35357423584 小时前
蓝桥杯-财务管理
java·c语言·数据结构·算法
CV金科4 小时前
蓝桥杯—STM32G431RBT6(IIC通信--EEPROM(AT24C02)存储器进行通信)
stm32·单片机·嵌入式硬件·算法·蓝桥杯
sewinger4 小时前
区间合并算法详解
算法
XY.散人4 小时前
初识算法 · 滑动窗口(1)
算法